Я использую Java и chromedriver.До сих пор я использовал следующий код, чтобы просто нажать на кнопку, затем появилось небольшое окно, и я нажал другую кнопку.Интересно, что мне не пришлось менять ни на какой кадр.Все работало нормально.Вот код:
// click on button
driver.findElement(By.xpath(hyperlink_take_order)).click();
// a second small window popped up and I clicked another button
driver.findElement(By.xpath("//a[contains(text(),'accept')]")).click();
До сих пор я использовал xpath для определения кнопок, которые мне нужно нажимать.
Время от времени появляется дополнительный флажок (иногда несколько флажков) навторое маленькое окно, на которое мне всем нужно нажать.Я попытался найти их через xpath, но обнаружил, что xpath здесь не работает.Все, что я получаю в HTML, выглядит примерно так:
Число в скобках [] в этом случае 17232 меняется каждый раз, поэтому я не могу найти имя, которое можно использовать для флажка.Я прочитал много статей о stackoverflow и нашел этот код, который также не работал.
// click on button
driver.findElement(By.xpath(hyperlink_take_order)).click();
// a second small window popped up
try
{
driver.switchTo().frame(driver.findElement(By.tagName("iframe")));
System.out.println("change to iframe worked");
List<WebElement> CHECKBOXlist = driver.findElements(By.xpath("//input[@type='checkbox']"));
for(WebElement checkbox : CHECKBOXlist)
{
System.out.println("there was a checkbox");
System.out.println(checkbox.getAttribute("name"));
checkbox.click();
}
driver.switchTo().defaultContent();
}
catch (Exception e)
{
System.out.println("there was no checkbox");
}
driver.findElement(By.xpath("//a[contains(text(),'accept')]")).click();
<div class="md-checkbox product-service md-theme-whitebackground">
<div tabindex="0" class=md-checkbox-container">
<input name="service[17232]" tabindex="-1" id="service_17232" type="checkbox" value ="1" />
</div>
<label class="md-check-label" for="service_17232">This one is blue</label>
</div>
Есть ли у вас какие-либо идеи, как я могу просто нажать на все (иногда несколько) флажки во втором маленьком окне?Спасибо