使用XPath无法通过其值获取输入

时间:2016-03-14 04:06:38

标签: java html selenium xpath

我有多个HTML SelectNodes元素,如下所示:

<input>

在这些输入元素中输入不同的文本(例如“hello”“hi”“hey”)并保存后,我可以使用<input type="text" class="information"> <input type="text" class="information"> <input type="text" class="information"> 打印出它们的值,这会给出“hello”“hi”“哎”。

但是,当我尝试使用XPath

获取此输入元素时
element.getAttribute("value")

它不起作用(无法识别带表达式的元素)。知道为什么会发生这种情况或者在这种情况下如何使用XPath获取输入元素?提前谢谢!

2 个答案:

答案 0 :(得分:0)

也许不是最好的方法,但

尝试通过Xpath找到它,如下所示:

xpath=(//input[@type='text'])[2]

[2]是方框号(1/2/3)。找到盒子后,您就可以访问它了。

IWebElement box2 = FindElement(By.XPath('//input[@type='text'])[2]'));
box2.getAttribute();

更好的方法是尝试选择div的“:nth-​​child(n)”。也许google了解

答案 1 :(得分:0)

正如nullpointer所写,你应首先使用//input[@class='information']获取元素列表,然后使用getAttribute("value")仔细查看每个元素。

您将无法通过加载页面后输入的XPath bc找到值。为了使用XPath查找value属性,必须在页面中加载它们,就像在<input type="text" value="hello">中一样,这不属于您的情况。