我有一个自动脚本,单击一个按钮即可触发带有确认按钮的引导模式对话框。我的JavaScript代码如下所示:
const bookScript = () => {
const confirm = () => {
const el = document.querySelector('.confirm');
if (el) {
el.click();
return;
}
setTimeout(() => confirm(), 10);
};
let bookBtn = document.evaluate("//button[text()='Foo'][1]", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (bookBtn) {
bookBtn.click();
confirm();
return true;
}
return false;
};
可能会出现模式对话框未显示的情况,在这种情况下,该脚本应返回false,但我希望它等待模式出现至少3秒钟,我该如何编码?
最佳答案
设置超时的方法相同。
setTimeout( () => {
let bookBtn = document.evaluate("//button[text()='Foo'][1]", document, null,
XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (bookBtn) {
bookBtn.click();
confirm();
return true;
}
return false;
}, 3000)
关于javascript - 如何尝试在JavaScript中执行操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59057641/