我正在使用Selenium(Node.js)构建一个自动化框架,它由许多步骤组成。
每个步骤都会在上一个步骤完成后返回一个Promise(例如Selenium的driver.click()返回的Promise)。
是否有可能等待浏览器上的JavaScript事件触发?如果可以,应该遵循什么样的模式?
.executeAsyncScript
来等待事件发生:driver.executeAsyncScript(function(callback) {
window.addEventListener('message', function onmessage() {
window.removeEventListener('message', onmessage);
callback();
});
});
文档:
这是一个与Selenium Webdriver相关的IT技术文档。链接提供了一个JavaScript方法,可以在Webdriver中执行异步脚本。请按照链接提供的格式和语法使用该方法。