【发布时间】:2016-05-22 16:42:58
【问题描述】:
我有一个 <select> 和几个 <option>s,我可以使用 select 命令在 Selenium IDE 中选择它们。
<td>select</td>
<td>//div[3]/div/div/div/div[2]/select</td>
<td>value=38</td>
太好了。 (这些是内部电子邮件的收件人)
但是,当用户单击下拉列表中的选项时,我们的网站显然会发送$("select").trigger("change")。因此,即使我可以选择我需要的内容并让它在页面上正确显示,但当我尝试发送此消息时,我会出错,提示“您必须选择收件人”。我询问了构建消息表单的开发人员,他说一旦用户单击收件人,该单击也会发送$("select").trigger("change") 命令。
我试过这个 Selenium 命令:
<td>runScript</td>
<td>$("select").trigger("change")</td>
<td></td>
但它什么也没做。您可以在这里看到我正在尝试做的事情...任何想法如何发送此触发器?
【问题讨论】:
-
您是否尝试过使用点击事件在本机触发此事件?
-
Alos 在这里查看答案:stackoverflow.com/questions/4689969/… 建议使用 fireEvent。
-
感谢@DMart。我无法让单击事件起作用,因为它来自 Select2 下拉列表。选择有 aria-hidden=true ,所以我不能只点击它,当我使用 CSS 或 Xpath 定位元素时,它没有触发任何事件触发器。对我来说最终的解决方案是:
<td>fireEvent</td><td>//div[3]/div/div/div/div[2]/select/</td><td>select2:select</td>我必须深入研究 Select2 文档才能找到要触发的正确事件。 -
很高兴它对你有用。
标签: jquery selenium-ide