2012-03-17 57 views
6

如何通過xpath選擇文檔中具有輸入給定值的所有輸入元素。例如,如果我去Google並輸入「hello world」,我如何獲得所有輸入「hello world」的輸入標籤?通過xpath獲取具有給定文本值的輸入標籤元素

玩弄下面的東西沒有得到回報,因爲文本字段中的值不是真正的文檔的一部分。

document.evaluate("//input[text() = 'hello world']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue 

應該很簡單,但我很驚訝地卡住了。

+0

你實際上是想它加載後抓住從頁面的價值和用戶執行一些操作,或者你是否已經有了某個地方的xml文檔,並且你想要搜索它? – 2012-03-17 05:57:38

回答

11

你的X-路徑表達式應該尋找的是有「世界你好」

屬性輸入,這是因爲這是價值被投入,而不是元素的內部文本。

實際的HTML元素看起來像:

<input type='text' value='hello world' /> 

XPath表達式應該是這樣的:

//input[@value = 'hello world'] 
0

沒有指定的語言,但檢索用戶輸入它需要是某種類型的javascript。在jQuery中,你可以這樣做:

$("input:contains('hello world')").val() 

有關詳細信息,請參閱contains() selector jQuery的文檔和val方法

2

沒有jQuery的用於獲取包含目標文本輸入的替代方法是輸入// [包含(@value,'hello world')]。這將找到輸入即使用戶類型的「hello world 7號」

0

這也似乎工作:

//input[@type='text'][@value='hello world'] 
相關問題