使用xpath识别元素时遇到困难

时间:2019-03-12 09:23:17

标签: selenium selenium-webdriver

www.cleartrip.com

let result = [6,1,3,1].sort().filter((_,i) => i) // result = [1,3,6]

我试图单击“书”按钮,并且正在使用xpath查找该元素。但是这个xpath

  

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

给了我两个元素,问题是这两个元素都有相同的html代码,它们之间没有唯一的关系。所以我的问题是如何找到正确的一个?

2 个答案:

答案 0 :(得分:1)

您可以使用此xpath,它只会返回一个元素

  

// div [@ id ='ResultContainer_1_1'] // button [@ type ='submit'] [包含(text(),'Book')]

答案 1 :(得分:1)

您要点击的<div>按钮上方还有一个ResultContainer_1_1,其ID为Book。因此,您可以将该ID附加到xpath中,然后尝试单击按钮。
请使用下面给出的xpath,它应该适合您:

WebElement bookButton = driver.findElement(By.xpath("//div[@id='ResultContainer_1_1']//button[@class='booking fRight']"));