Невозможно найти элемент в классе формы или классе div - PullRequest
0 голосов
/ 04 мая 2018

Я не могу найти элемент в классе формы или классе div:

//Tried this clicking on Source name.
driver.findElement(By.id("__BVID__62")).click();
//Typing into Source name.
driver.findElement(By.id("__BVID__63")).sendKeys(new String[]{"CNN"});

Я пробовал это:

driver.findElement(By.xpath("//input[contains(@class='form-control') and type='text']")).sendKeys("CNN");

HTML код:

<div class="card-body">
<fieldset id="_BVID__62" role="group" aria-labelledby="__BVID__62__BV_label" class="b-form-group form-group">
<legend id="_BVID__62__BV_label" class="col-form-label pt-0">Source Name</legend>
<div role="group" aria-labelledby="_BVID__62__BV_label" class="">
<input id="__BVID__63" type="text" class="form-control">

Ответы [ 2 ]

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

В соответствии с HTML, которым вы поделились, желаемый элемент имеет динамический ID. Таким образом, чтобы отправить текст на узел <input>, вам нужно вызвать WebDriverWait следующим образом:

new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='form-control' and starts-with(@id,'__BVID__') and @type='text']"))).sendKeys("CNN");
0 голосов
/ 04 мая 2018

используйте этот код:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement input = wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='card-body']/descendant::div/input[contains(@id,'BVID')]")));
input.sendKeys("CNN");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...