2015-06-19 3 views
0

Сценария: Вход в системе www.makemytrip.com -> нажмите на ссылке My Account -> Нажмите на опции Профиля -> Персональная информация всплывала приходитКак выбрать значение из поля КНОПКИ типа

Поле заголовка в раскрывающемся списке «Персональная информация» имеет тип «кнопка» на веб-сайте makemytrip.

Я не уверен, как выбрать значение (мистер, миссис, мисс и т. Д.) Из поля заголовка. Поле заголовка имеет значение по умолчанию - 'Mr.' но в моем сценарии я хочу выбрать «Миссис».



Ниже код не работает.

driver.findElement (By.xpath ("// кнопка [содержит (@ data-id, 'PTitle')]")). SendKeys ("Mrs.");


Невозможно использовать Выберите как раскрывающийся список своего типа. Просьба советовать, как я могу кодировать, чтобы выбрать разные значения из поля Title типа.

ответ

0

Причина, по которой ваш код не будет работать, состоит в том, что для его изменения требуется 2 события. Первое действие - щелкнуть элемент кнопки, а затем второе действие - щелкнуть другой параметр в раскрывающемся списке (который в вашем случае является ul внутри элемента div).

В рубина (просто перевести на Java), вы должны были бы сделать что-то вроде этого:

sal_elem = webdriver.find_element(xpath: "//button[contains(@data-id, 'PTitle')") 
sal_elem.click() 

=> Потому что вы нажали на кнопку, другие элементы (Mr, Mrs, Ms ..) станет видимым для вас сейчас, и вы можете найти и нажмите кнопку (напр. изменить в Ms)

new_sal_elem = webdriver.find_element(xpath: "//a[contains(@data-normalized-text, 'Ms.')]") 
new_sal_elem.click() 

Очевидно эти сырые команды и всегда должны быть помещены внутрь начать-спасательных блоков (или Java, попробуйте прилов) и должен зависеть до тех пор.

1

Благодарим за отзыв. Я использовал приведенный ниже код, и он работал, как ожидалось.

WebDriverWait wait = new WebDriverWait (driver, 30); driver.findElement (By.xpath («// кнопка [содержит (@ data-id,« PTitle »)]»)). Click(); wait.until (ExpectedConditions.elementToBeClickable (By.linkText ("миссис".))) нажмите().

Смежные вопросы