У меня есть 4 динамических ряда (val_01062), каждая из которых содержит 1 кнопку (один круг), как показано на рисунке. Я должен нажать кнопку на всех динамических строках. Как обращаться с селеном? Как обрабатывать динамические строки в селене?
ответ
Вы можете использовать xpath, чтобы найти все кнопки в таблице и перебрать их, чтобы отправить клик. Исправьте свой xpath на основе вашего html-кода. Если у вас больше кнопок, вам нужно добавить фильтрацию по id или классу. Вы можете легко проверить xpath в chrome, чтобы проверить, найдены ли правильные элементы.
List<WebElement> buttons = driver.findElements(By.xpath("//table//button"));
for(WebElement button : buttons) {
button.click();
}
Thanks.let me try – Pope
привет, я устал от его вокала частично. нажимается только 1-я кнопка. остальное все кнопки пропускаются и проходит тест. как обращаться – Pope
Список
Я хотел бы предложить вам использовать карту, как описано в этой статье - http://www.testautomationguru.com/selenium-webdriver-finding-webelements-using-map/
Вы можете получить доступ к этому, используя - как вы хотите получить доступ к
map.get(1).get("Override").click()
или
map.get("Val_01018").get("Override").click()
Вам лучше предоставить код «HTML» для того же ... Также используйте код, который вы пробовали, с описанием проблем, с которыми вы столкнулись с вашим кодом. – Andersson
html будет слишком длинным. Мне нужна логика – Pope
OK. Используйте 'click()' в цикле ... Ваш вопрос слишком широк. Вы должны поделиться более конкретными деталями и показать **, что вы уже сделали **, чтобы решить вашу проблему. – Andersson