2017-06-08 43 views
-1

我有元素,但XPath是不工作 接收無法找到與XPath的元素....硒C#,XPath是不承認

VAR newnumber = driver.FindElement(By.XPath(「// DIV [@ ID = '1496943330773-0-uiGrid-0006細胞']/DIV「));

請幫我這個嗎?

+1

很明顯的是,'id'可能DYN amic.Go用**包含**'// div [包含(@ id,'uiGrid-0006-cell')]'或者什麼 – Madhan

+0

歡迎來到Stack Overflow!請閱讀[問],特別是關於[mcve](MCVE)的部分,以及[預計需要多少研究工作?](https://meta.stackoverflow.com/questions/261592/how-much-research-effort-是預期的堆棧溢出用戶)這將幫助您調試自己的程序併爲自己解決問題。如果你這樣做並且仍然卡住,你可以回過頭來發布你的MCVE,你試過的,以及執行結果,包括任何錯誤信息,這樣我們可以更好地幫助你。還提供了一個鏈接到頁面和/或相關的HTML。 – JeffC

回答

0

要處理動態ID,他們最簡單的事情就是將其刪除。

如何在Chrome這樣做:

  1. 右擊元素,然後選擇「檢查」
  2. 雙擊該元素的id =「...」屬性進行編輯
  3. 刪除屬性並保存更改(點擊另一個元素)
  4. 右擊元素,然後選擇「複製」 - >「複製XPath」
+1

使用Copy XPath創建XPath通常不是一個好主意。你通常最終得到的是一個漫長而脆弱的參考。學習手工編寫XPath或更好的方法會更好,因爲它們更快更好地支持,所以在大多數情況下使用CSS選擇器。 – JeffC

+0

我同意並在我的測試中幾乎全部使用CSS選擇器。我專注於XPath,因爲這是帖子的標籤。 –