找到将在四种不同情况下出现的元素

时间:2018-11-15 06:37:08

标签: java selenium selenium-webdriver xpath css-selectors

<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单击。

对于第二种情况,通过其ID查找元素起作用。

2 个答案:

答案 0 :(得分:0)

使用似乎很常见的类

//*[contains(@class, 'bookbtn2')]

答案 1 :(得分:0)

根据您共享的 HTML ,您可以在以下四种不同情况下使用以下Locator Strategies之一来定位元素:

  • 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')]"));