【问题标题】:Selenium IDE not finding an element that does existSelenium IDE 找不到确实存在的元素
【发布时间】:2015-05-04 23:33:27
【问题描述】:

为什么这不适用于 Selenium IDE?

<td>click</td>
<td>window.document.getElementsByClassName('bi-icon-plus-blue')[0]</td>
<td></td>

元素存在。如果我打开控制台并执行它,元素元素就会出现。如果我像这样将它包装在 console.log 中: console.log(window.document.getElementsByClassName('bi-icon-plus-blue')[0]);

我收到了这个超出我理解范围的有趣信息:

“安全包装器拒绝访问特权 Javascript 对象上未定义的属性。通过 exposedProps 将特权对象公开给不受信任的内容的支持正在逐步移除 - 请改用 WebIDL 绑定或 Components.utils.cloneInto。注意只会报告来自给定全局对象的第一个被拒绝的属性访问。”

【问题讨论】:

  • 当您手动运行测试时,这是否有效?运行测试时是否可能尚未加载元素?你验证元素存在吗?
  • 不,它在手动运行时不起作用(我假设您的意思是双击窗口中的步骤,或者使用“执行此命令”)。元素已加载。 VerifyElementPresent 未检测到该项目。

标签: javascript selenium-ide getelementsbyclassname


【解决方案1】:

您的选择器不正确。您正在使用 javascript 命令。试试css=.bi-icon-plus-blue。更多信息请看这里:http://docs.seleniumhq.org/docs/02_selenium_ide.jsp#locating-elements

【讨论】:

  • 我想避免使用 CSS 选择器。我想要一个数组或集合,以便我可以迭代。以下是最终奏效的方法:&lt;td&gt;click&lt;/td&gt;&lt;td&gt;document.getElementsByClassName('bi-icon bi-icon-plus-blue')[${myVariable}]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;我不知道怎么做`css=.bi-icon-plus-blue[${myVariable}]`
  • 查看第 n 个类型。
猜你喜欢
  • 2020-02-17
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
  • 2016-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多