gpt4 book ai didi

javascript - Node Selenium WebdriverJS - 如何检查元素是否真正可点击?

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:06 24 4
gpt4 key购买 nike

如何检查 selenium webdriverJS 中的元素是否真正可点击?

我知道我可以检查元素是否显示以及元素是否启用。但是,如果该元素被其他元素隐藏,例如被模式弹出窗口隐藏,则无法单击它。在这种情况下,我希望 webdriver 等待该元素真正可点击。

如何做到这一点?感谢您的帮助

最佳答案

我遇到了这个问题,最终找到了解决方案。即使我正在使用 wd而不是selenium-webdriver ,我认为我的解决方案对于那些使用 Node.js 处理 selenium 的人来说可能很有用。

基本上,我将通用 waitFor 与断言器一起使用,以继续尝试单击,直到成功或超时。这是代码

使用

browser
.elementById('some-button')
.clickWhenClickable()

方法.js

var wd = require('wd');
var asserters = require('./asserters');
wd.addElementPromiseMethod('clickWhenClickable', function clickWhenClickable (timeout, pollFreq) {
return this.browser.waitFor(asserters.elementHasBeenClicked(this), timeout, pollFreq);
});

断言者.js

var wd = require('wd');
var Asserter = wd.Asserter;

exports.elementHasBeenClicked = function elementHasBeenClicked (el) {
return new Asserter(function hasBeenClicked (browser, cb) {
el.click(function(err) {
cb(null, !err, null);
});
});
};

关于javascript - Node Selenium WebdriverJS - 如何检查元素是否真正可点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23029078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com