рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдгред HTML рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ: рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВ

рдпрджрд┐ рдЖрдк рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдиреЗ рд╕рдВрднрд╡рдд: рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╡реЗрдм рдкреГрд╖реНрдареЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛред рдкрд░реАрдХреНрд╖рдХреЛрдВ рдХреЗ рдмреАрдЪ, рдкреГрд╖реНрда рд╡рд╕реНрддреБ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдХрдИ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдХреБрдЫ рдХрдорд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдХрд░рддреА рд╣реИрдВред

рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг:

рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ, рдЖрдк рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдХреИрд╕реЗ рд╣рдо рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдУрдкрди-рд╕реЛрд░реНрд╕ HTML рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рд╡реЗрдм рдкреЗрдЬреЛрдВ рдкрд░ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЛ рд╕рд░рд▓, рд▓рдЪреАрд▓рд╛ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╣рдо рд╕реНрд╡рдпрдВ рдкреИрдЯрд░реНрди рдФрд░ рдЙрд╕рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдЕрдЧрд░ рдХреЛрдИ рдЙрд╕рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рдкреЛрд╕реНрдЯ рдпрд╛ рдорд╛рд╕реНрдЯрд░ рдХреНрд▓рд╛рд╕ рд╕реЗ рдЬрд╛рди рд╕рдХрддреЗ рд╣реИрдВред рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреИрдЯрд░реНрди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рд╣рдо рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдврд╛рдВрдЪреЗ рдореЗрдВ рдЗрд╕рдХреЗ рдЬрд╛рд╡рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрд░реНрде рдХрд░реЗрдВрдЧреЗред

рдХреЛрдб рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ


рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреГрд╖реНрда рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рдВрдкреВрд░реНрдг рд╡реЗрдм рд╕реЗрд╡рд╛ рдкрд░ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░, рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдмреНрд▓реЙрдХ рд╕рдВрднрд╡рддрдГ рдорд┐рд▓ рдЬрд╛рдПрдВрдЧреЗ: рд╣реЗрдбрд░, рдлреБрдЯрд░, рд╕рдВрднрд╡рддрдГ рдХреБрдЫ рд╕рдорд╛рди рд░реВрдк, рдЖрджрд┐ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпреИрдВрдбреЗрдХреНрд╕ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдПрдХ рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рд╣реИ, рдЬреЛ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдиреЗ рдкрд░ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐


рдЫрд╡рд┐

рдпрд╣ рдЕрдиреНрдп Yandex рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рднреА рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Yandex.Auto, Yandex.Market рдФрд░ Yandex.Workред

рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлрд╝реЙрд░реНрдо рдХреЛ рди рдХреЗрд╡рд▓ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Yandex.Passport рдкреГрд╖реНрда рдпрд╛ Yandex.Market рдкрд░ рднреА рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкреГрд╖реНрда рдкрд░ рдЖрдо рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд╛ рддрд░реНрдХ рдмрд┐рд▓реНрдХреБрд▓ рд╕рдорд╛рди рд╣реИред рд▓реЗрдХрд┐рди, рдЬрдм рдЖрдкрдХреЛ рдЗрди рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдХреЛрдб рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдЗрди рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣рднрд╛рдЧрд┐рддрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭ рдЧрдП рд╣реИрдВ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ? рд╣рд╛рдВ, рддрддреНрд╡реЛрдВ рдХреЗ рдмреНрд▓реЙрдХ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рддрд░реНрдХ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирд╕реЗ рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ HTML рддрддреНрд╡реЛрдВ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ:

@Block(@FindBy(className = "b-head-search")) public class SearchArrow extends HtmlElement { @FindBy(name = "text") private WebElement requestInput; @FindBy(xpath = "//input[@type='submit']") private WebElement searchButton; public void search(String request) { requestInput.sendKeys(request); searchButton.click(); } } 

рд╕рд╛рде рд╣реА рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдлреЙрд░реНрдо:

 @Block(@FindBy(className = "b-domik__form")) public class AuthorizationForm extends HtmlElement { @FindBy(id = "b-domik-username") WebElement loginField; @FindBy(id = "b-domik-password") WebElement passwordField; @FindBy(xpath = "//input[@type='submit']") WebElement submitButton; public void login(String login, String password) { loginField.sendKeys(login); passwordField.sendKeys(password); submitButton.click(); } } 

рдлрд┐рд░ рдпреИрдВрдбреЗрдХреНрд╕ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда-рд╡рд╕реНрддреБ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

 public class SearchPage { private SearchArrow searchArrow; private AuthorizationForm authorizationForm; // Other blocks and elements here public SearchPage(WebDriver driver) { HtmlElementLoader.populatePageObject(this, driver); } public void search(String request) { searchArrow.search(request); } public void login(String login, String password) { authorizationForm.login(login, password); } // Other methods here } 

рд╡реИрд╕реЗ, рдХреНрдпрд╛ рдЖрдкрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдмреНрд▓реЙрдХ рдПрд▓рд┐рдореЗрдВрдЯ рд╕рд┐рд▓реЗрдХреНрдЯрд░реНрд╕ рдмреНрд▓реЙрдХ рд╕рд┐рд▓реЗрдХреНрдЯрд░ рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ? рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмреНрд▓реЙрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪрдпрдирдХрд░реНрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд┐рдиреНрди рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмреНрд▓реЙрдХ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рдмрджрд▓реЗрдЧреАред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЬрдм рдЖрдк рдмреНрд▓реЙрдХ рдХреЛ рдкреЗрдЬ-рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдмреНрд▓реЙрдХ рдХреЗ рдЪрдпрдирдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Yandex.Auto рд╕реЗрд╡рд╛ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдкрд░, рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рдХреЛ рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдЦреЛрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:

 public class AutoHomePage { @FindBy(className = "b-search") private SearchArrow searchArrow; // Other blocks and elements here public AutoHomePage(WebDriver driver) { HtmlElementLoader.populatePageObject(this, driver); } public void search(String request) { searchArrow.search(request); } // Other methods here } 

рдкрдардиреАрдпрддрд╛ рдФрд░ рджреГрд╢реНрдпрддрд╛


рд╡реЗрдм рд╕реЗрд╡рд╛ рдХреЗ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреГрд╖реНрда рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд╕рднреА рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Yandex.Avto рдХреЗ рдореБрдЦреНрдп рдкреГрд╖реНрда рдкрд░ рдорд╛рдкрджрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдк рд╣реИред рдЗрд╕ рдкрд░ 30 рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡ рд╣реИрдВ, рдЙрдиреНрдирдд рдЦреЛрдЬ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╕рд╛рде рд╣реА рдХрд╛рд░ рдмреНрд░рд╛рдВрдбреЛрдВ рдХреА рд╕реВрдЪреА, рдПрдХ рд╕рдорд╛рдЪрд╛рд░ рдмреНрд▓реЙрдХ, рдСрдЯреЛрдореЛрдЯрд┐рд╡ рдирд╡рд╛рдЪрд╛рд░реЛрдВ рдХрд╛ рдПрдХ рдмреНрд▓реЙрдХ, рдЖрджрд┐ред

рдЫрд╡рд┐

рдпрджрд┐ рд╣рдо рдЗрд╕ рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рдПрдХ рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдХреЗрд╡рд▓ рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдврд╛рдВрдЪреЗ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рддрддреНрд╡реЛрдВ рдХреЗ рдПрдХ рд▓рдВрдмреЗ рдХреИрдирд╡рд╛рд╕ рдФрд░ рдЗрди рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рддрд░реАрдХреЛрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╡рд░реНрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред рд╕рд╣рдордд рд╣реВрдВ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рдмрд╣реБрдд рдкреНрдпрд╛рд░рд╛ рдФрд░ рдЦрд░рд╛рдм рдкрдардиреАрдп рд╣реЛрдЧрд╛ред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЕрд▓рдЧ рд╕реЗ рддрддреНрд╡реЛрдВ рдХреЗ рдмреНрд▓реЙрдХ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рднреА рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред рдПрдХ рдкреГрд╖реНрда рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдмреНрд▓реЙрдХ рд╣реЛрдВрдЧреЗ, рдФрд░ рдЙрдирдХреА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЗ рддрд░реНрдХ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЯрд╛рдЗрдкрд┐рдВрдЧ рддрддреНрд╡


рд╕реЗрд▓реЗрдирд┐рдпрдо рд╡реЗрдмрдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ, рд╕рднреА рдкреЗрдЬ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ - рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдХ рдмрдЯрди рд╣реЛ, рдЪреЗрдХрдмреЙрдХреНрд╕ рд╣реЛ, рдпрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдЗрдирдкреБрдЯ рдлрд╝реАрд▓реНрдб рд╣реЛ - рд╡реЗрдмрдЗрдореЗрдВрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЗрд╕рдХреА рдХрдИ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд╣рд╛рдВ рдЯреЗрдХреНрд╕реНрдЯ рдбреНрд░рд╛рдЗрд╡ рдХрд░рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рджреВрд╕рд░реА рдУрд░, рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдЕрдХреНрд╕рд░ рдЬрдЯрд┐рд▓ рддрддреНрд╡ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЛ рдХреЗрд╡рд▓ рд╡реЗрдмрдПрд▓реЗрдЯрдореЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд░реНрдгрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд░реЗрдбрд┐рдпреЛ рдмрдЯрди рдХрд╛ рдПрдХ рд╕рдореВрд╣, рдПрдХ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдпрд╛ рдПрдХ рддрд┐рдерд┐ рдкрд┐рдХрд░ рд╣реИред

рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рд╣реА рд╕рдорд╛рдзрд╛рди рд╕реНрд╡рдпрдВ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ: рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреЛ рдкрд╣рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡реЗрдмрдПрд▓реЗрдореЗрдВрдЯ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдВрдХреАрд░реНрдг рдХрд░реЗрдЧрд╛, рдФрд░ рджреВрд╕рд░реЗ рдореЗрдВ - рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╣рдордиреЗ HTML рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХрд┐рдпрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрдЬ рдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд┐рд╡рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 @Block(@FindBy(className = "b-head-search")) public class SearchArrow extends HtmlElement { @FindBy(name = "text") private TextInput requestInput; @FindBy(xpath = "//input[@type='submit']") private Button searchButton; public void search(String request) { requestInput.sendKeys(request); searchButton.click(); } } 

рдФрд░ рдЗрд╕рд▓рд┐рдП рдЦреЛрдЬ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝реЙрд░реНрдо рдХрд╛ рд╡рд┐рд╡рд░рдг, рдЬрд╣рд╛рдВ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рд╣реИ, рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

рдЫрд╡рд┐
 @Block(@FindBy(id = "lang")) public class LanguageSelectionForm extends HtmlElement { @FindBy(className = "b-form__select") private Select listOfLanguages; @FindBy(xpath = "//input[@type='submit']") private Button saveButton; @FindBy(xpath = "//input[@type='button']") private Button returnButton; public void selectLanguage(String language) { listOfLanguages.selectByValue(language); saveButton.click(); } } 

рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА TextInput, Button, CheckBox, Select, Radio рдФрд░ Link рдЬреИрд╕реЗ рдореВрд▓ рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЖрдк рднреА, рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рдХреЛ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдореМрдЬреВрджрд╛ рд▓реЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

***

рдПрдЪрдЯреАрдПрдордПрд▓ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдЙрдкрдХрд░рдг рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЯрд╛рдЗрдк рдХрд┐рдП рдЧрдП рддрддреНрд╡реЛрдВ рд╕реЗ рдЖрдк рдЕрдкрдиреА рдЬрд╝рд░реВрд░рдд рдХреЗ рдмреНрд▓реЙрдХ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрди рд╕реЗ рдкреЗрдЬ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдХреЛрдб рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреА рдбрд┐рдЧреНрд░реА рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдзрд┐рдХ рдкрдардиреАрдп рдФрд░ рд╕рд╣рдЬ рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред HTML Elements рдУрдкрди рд╕реЛрд░реНрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдЖрдк рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ GitHub рдкрд░ рдХреЛрдб рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдпреИрдВрдбреЗрдХреНрд╕ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрджреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рд╣рдо рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред рдЖрдкрдХреЛ рдкрддрд╛ рдЪрд▓ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреА рдорджрдж рд╕реЗ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

Source: https://habr.com/ru/post/In158787/


All Articles