Найдите элемент, который придет в четырех разных сценариях - PullRequest
0 голосов
/ 15 ноября 2018
<input type="submit" name="ccBtnBook" value="Book" id="ccBtnBook" 
class="bookbtn2 flR" style="background-color:Transparent;border- 
style:None;">

<input type="submit" name="ccRepItinerary$ctl00$ccLbtnSelect" value="Book" 
id="ccRepItinerary_ctl00_ccLbtnSelect" class="bookbtn2" style="background- 
color:Transparent;border-style:None;">

<input type="button" value=" Book " class="bookbtn2" onclick="iSB('1')">

<input type="button" value=" Book " class="bookbtn2" 
onclick="iSB('4','MCT','DXB','DXB','MCT','True')">

<input type="button" value=" Book " class="bookbtn2" 
onclick="iSB('1','MCT','DXB','','','False')">

<input type="button" value=" Book " class="bookbtn2" onclick="iSB('4')">

Я пытался использовать имя класса и xpath, но для обоих не получилось.Я даже пытался использовать JavaScript-клик.

Для второго случая работает поиск элемента по его идентификатору.

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

В соответствии с HTML , которым вы поделились, чтобы найти элемент в четырех различных сценариях, вы можете использовать любой из следующих Стратегий определения местоположения :

  • cssSelector:

    driver.findElement(By.cssSelector("input.bookbtn2[value='Book'][type='button'][onclick^='iSB']"));
    
  • xpath:

    driver.findElement(By.xpath("//input[@class='bookbtn2' and @value='Book'][@type='button' and starts-with(@onclick,'iSB')]"));
    
0 голосов
/ 15 ноября 2018

Используйте класс, который кажется обычным

//*[contains(@class, 'bookbtn2')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...