driver.findElement(By.xpath(".//div[contains(text(),'Approval Date')]")).click();
上面找到了表格中的第一個元素。如何獲得這個XPATH的最後一場比賽?
表中有三行文本爲「批准日期」。
如何選擇第三行而不是默認選擇第一行?
driver.findElement(By.xpath(".//div[contains(text(),'Approval Date')]")).click();
上面找到了表格中的第一個元素。如何獲得這個XPATH的最後一場比賽?
表中有三行文本爲「批准日期」。
如何選擇第三行而不是默認選擇第一行?
,如果你想在「第三」,如你所說,那麼你可以去[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')]"));
添加[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?
我想最後一個,而不是僅僅third..i給了一個例子... –
更新我的答案;-) – drkthng
感謝您的回答。但它不起作用。你能幫我解決其他XPATH表達式嗎? –