2012-03-17 188 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'] 
相关问题