【发布时间】:2017-06-20 06:16:27
【问题描述】:
我有多个如下所示的 div
<div class="one">send Message</div>
<div class="one">send Message</div>
<div class="one">send Message</div>
我有一个网页,上面有发送消息按钮,其中一次只有一个按钮可见。其他两个按钮通过一些 javascript 代码隐藏。例如,如果第二个按钮可见,我应该是只能点击那个元素。但在我的硒代码中,它试图点击第一个隐藏的 div 并且它失败了
driver.findElements(by.className(".one")).then((els) => {
var element = els[index];
element.click();
});
所以基本上我想将下面的 javascript 代码转换为 Selenium nodejs 代码,如果有人指导我会有所帮助
var all = document.getElementsByTagName("*");
for (var i = 0, max = all.length; i < max; i++) {
if (isHidden(all[i]))
// hidden
else
// visible
}
function isHidden(el) {
var style = window.getComputedStyle(el);
return ((style.display === 'none') || (style.visibility === 'hidden'))
}
【问题讨论】:
-
你试过
try/catch吗?
标签: selenium selenium-webdriver