使用 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 表达式中使用键入的文本?