Selenium IDE - 无法在自动完成/无法定位元素中选择文本

时间:2013-05-22 14:58:10

标签: selenium-ide

我正在使用Selenium IDE并尝试单击字段中的自动完成项。我无法找到点击元素的方法。单击该项时,它将填充下一个字段。我已经玩了两天了,无法理解。如果我可以将鼠标光标放在字段中,然后按下然后输入它可能会起作用。我试过了:

<td>clickAt</td>
<td>id=txtCategory</td>
<td></td>

<td>keyPress</td>
<td>css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all</td>
<td>\40</td>

<td>keyPress</td>
<td>css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all</td>
<td>\13</td>

但它不起作用。我尝试过使用焦点和/或使用sendkeys,keydown和keypress模糊,但我似乎也无法使用它。鼠标悬停在自动完成单词上时,还有一个hoverstate。我找不到在硒中访问该状态的方法,也不知道我是否需要。任何帮助将不胜感激。

这是一个链接,指向我在使用firebug进行检查时要点击的字段图片,以及我在Selenium IDE中尝试的一些内容。

我也尝试过:

对于价值,我应该把'客户检查反弹'?我可以在字段中获取文本,但实际上没有单击自动填充文本,下一个字段将不会填充。这是我试过的:

<td>typeKeys</td>
<td>css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all</td>
<td>Customer check bounced</td>



<td>fireEvent</td>
<td>css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all</td>
<td>focus</td>



<td>fireEvent</td>
<td>css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all</td>
<td>blur</td>


<td>keyPress</td>
<td>css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all</td>
<td>\13</td>

enter image description here

谢谢, 鲍勃

3 个答案:

答案 0 :(得分:1)

经过2天的搜索,我找到了问题的解决方案。您可以使用html找到项目并单击它们。以下是我使用的步骤:

1. Click into the field to cause the autocomplete to fire

<td>clickAt</td>
<td>id=txtCategory</td>
<td></td>

2. Mouseover the field that contains the autocompleted word I need to click

<td>mouseOver</td>
<td>//html/body/ul/li/a/b</td>
<td></td>

3. Click the autocomplete item I need to click in order for the next field to function

<td>click</td>
<td>//html/body/ul/li/a/</td>
<td></td>

答案 1 :(得分:1)

我正在使用Selenium IDE并且一直在尝试选择从google place autocomplete生成的元素,以下脚本对我来说很好,我希望它会有所帮助。

<tr>
    <td>sendKeys</td>
    <td>id=address</td>
    <td>48 Westlawn Dr.</td>
</tr>
<tr>
    <td>keyDown</td>
    <td>id=address</td>
    <td>\40</td>
</tr>
<tr>
    <td>keyDown</td>
    <td>id=address</td>
    <td>\13</td>
</tr>
  1. sendKeys会触发下拉菜单
  2. keyDown在选择之间跳转
  3. 上次keyDown是发送回车键
  4. 技巧是对同一元素执行的所有操作。

    参考:http://www.software-testing-tutorials-automation.com/2013/06/selenium-keydown-command-to-select.html

答案 2 :(得分:0)

在selenium中使用typekeys命令进行自动完成命令。 这是为指定字符串中的每个字符调用keyDown,keyUp,keyPress的便捷方法;这对于需要显式键事件的动态UI小部件(如自动完成组合框)非常有用。

typeKeys| css=.ui-corner-all+.ui-corner-all+.ui-corner-all+.ui-corner-all | value