如何通过xpath选择文档中具有键入给定值的所有输入元素。
例如,如果我去谷歌并输入“hello world”,我如何获得所有输入“hello world”的输入标签?
使用下面的内容并没有得到回报,因为文本字段中的值实际上并不是文档的一部分。
document.evaluate("//input[text() = 'hello world']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
应该很简单,但我很惊讶。
答案 0 :(得分:15)
您的x路径表达式应搜索具有“hello world”值属性的输入
这是因为这是值放入的位置,而不是元素的内部文本。
实际的html元素如下所示:
<input type='text' value='hello world' />
XPATH表达式应如下所示:
//input[@value = 'hello world']
答案 1 :(得分:2)
没有jQuery的替代方法是获取包含目标文本的input
:
//input[contains(@value, 'hello world')]
即使用户输入"hello world number 7"
答案 2 :(得分:0)
您没有指定语言,但要检索用户输入,它需要是某种类型的javascript。在jQuery中,您可以这样做:
$("input:contains('hello world')").val()
有关详情,请参阅contains()
selector和val
方法
答案 3 :(得分:0)
这似乎也有效:
//input[@type='text'][@value='hello world']