2015-10-08 82 views

回答

2

,如果你想在「第三」,如你所說,那麼你可以去[3]

driver.findElement(By.xpath(".//div[contains(text(),'Approval Date')][3]")).click(); 

例如,如果你想那麼「最後」條目去[last()]

driver.findElement(By.xpath(".//div[contains(text(),'Approval Date')][last()]")).click(); 

在你的情況下,兩個都會得到相同的結果......

至於你的問題「如何選擇所有包含」批准日期「的元素:

List<WebElement> elements = driver.findElements(By.xpath(".//div[contains(text(),'Approval Date')]")); 
+1

我想最後一個,而不是僅僅third..i給了一個例子... –

+0

更新我的答案;-) – drkthng

+0

感謝您的回答。但它不起作用。你能幫我解決其他XPATH表達式嗎? –

1

添加[last()]位置索引謂詞初始xpath表達式包裹在括號後*,以獲得僅origiinal的xpath的最後一個匹配元素:

(.//div[contains(text(),'Approval Date')])[last()] 

「此外,如何選擇所有包含「批准日期」的元素「

使用findElements() - 使用複數's'來查找選擇器匹配的所有元素。爲什麼括號內是必要的

*)解釋:How to select specified node within Xpath node sets by index with Selenium?