使用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表达式中使用键入文本?
答案 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();