如何通过xpath中的键入文本选择文本输入?

时间:2012-05-17 14:32:16

标签: xpath selenium

使用selenium创建自动化测试当我尝试通过其中的文本输入文本输入时,我遇到了问题。我使用Xpath和FirePath插件来检查它的结果。

我的xpath是:

//input[@context='@name' and contains(@class, 'edit-string') and contains(@value, 'testSection')]

并且它什么都不返回,而当我删除最后一个条件时:

//input[@context='@name' and contains(@class, 'edit-string')]

我找到了所需的div。

正如我所指出的那样,问题在于value属性不包含键入的文本。 Firebug控制台证明了这个理论(页面上出现了jQuery库):

>>>> $("input.edit-string")[0].getAttribute("value")
null
>>>> $("input.edit-string")[0].value
"testSection"
>>>> $("input.edit-string")[0].getAttribute("context")
"@name"

任何想法如何在xpath表达式中使用键入文本?

2 个答案:

答案 0 :(得分:0)

请按照以下说明进行尝试..

命令--->目标--->价值
焦点---> class = edit-string
typeKeys ---> class = edit-string --->任何文本

答案 1 :(得分:0)

方法: 从给定的信息XPath是     //输入[@context ='@ name'并包含(@class,'edit-string')]

第1步:

因此Input的类名包含字符串“edit-string”。我们可以将上面的XPath转换为CSS选择器

css=.edit-string

第2步:

尝试获取文字

$(".edit-string").getText();