2013-07-25 81 views
0

任何人都可以請讓我知道如何使用Selenium Webdriver從網頁中提取Xpaths。我不想使用Firebug或任何其他工具,一段代碼應該提取給定網頁中的所有Xpath。WebDriver:提取Xpath

+0

那麼,如果這可以做到我的大多數人的朋友不會有工作。我不確定這可以做到。爲什麼要在寫xpath時如此簡單呢? – Vinay

+0

你想做什麼,真正的意圖是什麼?這並不是特別清楚爲什麼你想使用Selenium來提取頁面上元素的XPath表達式。事後你想怎麼做? –

+0

這看起來像一個XY問題 - http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem。你爲什麼想這樣做? – 2013-07-25 23:48:08

回答

0

由於多種原因,這是不可能的。對於任何給定的XML文檔,首先和formost有無限任何給定節點的XPath。

考慮這個XML文檔:

<root> 
    <a> 
     <b/> 
    </a> 
    </c> 
</root> 

很簡單,但讓我們看看元素<b>。下面是它的一些XPaths:

/root/a/b 
/root/a[1]/b[1] 
/root/*/b 
/root//b 
/root/a/*[1] 
//b[count(ancestor::a) == 1] 

獲得點?哪一個是正確的? XPath是基於給定條件描述XML文檔中的一組或多組元素的一種方法。如果沒有一個已知的出發點和一個特定的期望輸出,就有無限的方式來描述一個元素,這就是爲什麼它如此強大。

+0

非常感謝樂高。 – user2617199

+0

如果答案有幫助,可以自由投票,如果答案是肯定的,就接受這個答案。 – 2013-07-28 03:01:58