3

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

4

2 回答 2

0

请按照以下说明尝试..

Command ---> Target ---> Value
focus --->class=edit-string
typeKeys --->class=edit-string--->any text

于 2012-06-01T09:36:11.230 回答
0

Approach: From the Given Info the XPath is //input[@context='@name' and contains(@class, 'edit-string')]

Step 1:

So the Input is having the Class Name that contains the string "edit-string". We can convert the above XPath into CSS selector

css=.edit-string

Step 2:

Try getting the Text

$(".edit-string").getText();
于 2014-04-04T06:39:34.120 回答