李恒道 发表于 2022-9-20 22:07:45

selenium nodejs处理模态对话框

使用我封装的一个小函数
循环调用driver.switchTo().alert().accept()
这里必须用await
不然没法用try_catch捕获到错误
因为输入后不会立刻触发模态框
所以要延时循环多次
```
async function handle_model_dialog(driver, max_num = 4) {
return new Promise((resolve) => {
    let currnet_num = 0
    let timer = setInterval(async () => {
      try {
      console.log("execute", currnet_num)
      await driver.switchTo().alert().accept()

      } catch {
      }
      currnet_num++
      if (currnet_num >= max_num) {
      clearInterval(timer)
      resolve()
      }

    }, 1000);
})
}
```
页: [1]
查看完整版本: selenium nodejs处理模态对话框