簡體   English   中英

使用Selenium,xpath找不到'text'元素

[英]Using Selenium, xpath cannot find 'text' element

我是Selenium的新手,無法通過XPath查找元素。 我試圖處理此問題,但花了太多時間,但仍然無法正常工作。

我試圖自動文件從網上下載網站。

我正在搜索包含版本名稱的元素,然后需要相應地單擊下載圖標。

例

我正在編寫以下代碼以查找元素

var element1 = driver.FindElement(By.XPath("//*[@id='versiontable']/div[3]/a[Text()='Firefox 22.0 (Beta 2)']"));

但是,它不起作用,找不到元素。

然后,我需要相應地單擊下載圖標。 我不確定如何單擊與當前版本的Firefox相關的元素。 有什么建議么?

您為什么不使用By.linktext ,對我來說似乎容易得多?

driver.findElement(By.linkText("Firefox 22.0 (Beta 2)")).click(); 

但是,您的XPath無法正常工作的原因是它不適合網頁的結構。 div[3]並不表示一個層次結構中一個接一個的三個div,而是表示下一個層次結構中的第三個div 您將需要這樣的東西

var element1 = driver.FindElement(By.XPath("//*[@id='versiontable']/div/div/div/a[text()='Firefox 22.0 (Beta 2)']"));

首先,xpath函數text()必須以小寫形式編寫。
另外,您要查找的鏈接條目不是第​​三(3)格。

因為直接下載是div中class =“ right”的鏈接。
請嘗試以下方法:

"//div[div/a[text()='Firefox 22.0 (Beta 2)']]/div[@class='right']/a"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM