Как выбрать опцию из выпадающего списка, если элементы не хранятся в массиве - PullRequest
0 голосов
/ 23 мая 2018

Когда я нажал на элемент проверки, ниже мой код:

<select _ngcontent-c2="" class="form-control ng-pristine ng-invalid ng-touched" id="type" name="Type" required="">
     <option _ngcontent-c2="" disabled="" value="0: null">Type</option>
     <!----><option _ngcontent-c2="" value="1: account">
       account
     </option><option _ngcontent-c2="" value="2: booking">
       booking
     </option>
</select>

Я хочу нажать на опцию "1", которая account, ниже код, который я пробовал:

List <WebElement> Type= driver.findElements(By.id("type"));
Type.get(1).click();

Но мой скрипт не нажимает на элемент, на котором я хочу щелкнуть.Может кто-нибудь, пожалуйста, помогите мне?

Ответы [ 4 ]

0 голосов
/ 23 мая 2018

непосредственно вы можете написать этот код, он идет на счет

import org.openqa.selenium.Keys
driver.findElement(By.id("type")).send_keys("account");
0 голосов
/ 23 мая 2018

Попробуйте этот код:

List<WebElement> dropDown =   driver.findElements(By.id("type"));

for(WebElement dd : dropDown ){
           if(dd.getText().contains("account")){
                dd.click();
             }
         }  

Я не знаю, почему вы не пробовали Выберите класс, который присутствует в Selenium.Для этого что-то вроде:

Select select = new Select(driver.findElement(By.id("type")));
select.selectByVisibleText("account");  
//OR
//select .selectByIndex(1);  
//OR  
//select .selectByValue("1");
0 голосов
/ 23 мая 2018

Поскольку это раскрывающийся список, лучше использовать Выбрать class,

Попробуйте этот код ниже и импортируйте правильные библиотеки.Библиотека также упоминается ниже,

import org.openqa.selenium.support.ui.Select;

Код,

String value = "account";
Select select = new Select(driver.findElement(By.xpath("//*[@id='type']")));
select.selectByVisibleText(value);
0 голосов
/ 23 мая 2018

Вы можете использовать класс выбора, как указано ниже.

Select sel = new Select(driver.findElements(By.id("type")));
sel.selectByVisibleText("account");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...