Трудность в идентификации элемента с помощью xpath - PullRequest
0 голосов
/ 12 марта 2019

Вкл. www.cleartrip.com

URL : https://www.cleartrip.com/flights/results?from=BOM&to=DEL&depart_date=17/03/2019&return_date=18/03/2019&adults=2&childs=0&infants=0&class=Economy&airline=&carrier=&intl=n&sd=1552380726320&page=loaded

Я пытаюсь нажать на кнопку «Книга» и нахожу этот элемент с помощью xpath. Но этот xpath

//button[@type='submit' and @class='booking fRight']

дает мне два элемента, и проблема в том, что оба элемента имеют одинаковый HTML-код, между ними нет ничего уникального. Итак, моя проблема в том, как мне найти правильный?

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Существует дополнительная <div> с идентификатором ResultContainer_1_1 над кнопкой Book, которую вы пытаетесь нажать. Таким образом, вы можете добавить этот идентификатор в xpath и затем попытаться нажать на кнопку.
Пожалуйста, используйте приведенный ниже xpath, он должен работать для вас:

WebElement bookButton = driver.findElement(By.xpath("//div[@id='ResultContainer_1_1']//button[@class='booking fRight']"));
1 голос
/ 12 марта 2019

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

// div [@ id = 'ResultContainer_1_1'] // button [@ type = 'submit'] [содержит (текст (), 'Книга')]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...