Невозможно найти элемент для тех же полей, присутствующих в разных блоках на странице, что и xpath, и все остальные объекты совпадают - PullRequest
0 голосов
/ 16 мая 2018

Я автоматизирую одно приложение, используя селен, в котором я застрял в точке, в которой я не могу найти способ найти элемент для тех же полей, которые находятся в разных блоках, но их пути xpath и все другие объекты одинаковы, поэтому яневозможно найти элемент для полей второго блока.

Есть 2 блока с одинаковыми полями (текстовое поле улицы, раскрывающийся список Штат, текстовое поле города и текстовое поле zip).Я сделал код для первого блока, используя xPATH, и он работает нормально.

Но проблема заключается во втором блоке, где все поля одинаковы и их xpath также одинаковы.Когда я выполняю скрипт, происходит то, что данные, введенные в первый блок, выполняются правильно, но для второго блока, поскольку xpath одинаковы, элемент управления возвращается к первому блоку и начинает ввод данных в уже заполненные поля.Ничего не существует для дифференциации, поэтому я не могу найти элементы для второго блока.

Ответы [ 2 ]

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

Что я понял из вопроса, так это то, что "разные блоки", упомянутые в вопросе, находятся на одной и той же странице. Если мое понимание верно, вы можете попробовать метод FindElements и затем использовать get метод для доступа к необходимому webelement. например, если экземпляр Webdriver является драйвером

List<WebElement> StreetTxtList=driver.findElements("//mention your locator here");
StreettxtList.get("//mention the index").click();

Вы также можете добавить ожидание соответственно, если требуется

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

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

("//select[@class='form-control']")[1]
...