一直在 python 中使用 selenium,当我加载 URL 时我收到警报。当我第一次切换到警报时,它处理得很好。当访问同一网站上的另一个 URL 时,Webdriver 在切换到同一警报警报时会挂起/冻结。
这就是我目前正在尝试的:
try:
sleep(1)
while EC.alert_is_present():
sleep(3)
WebDriverWait(driver, 5).until(EC.alert_is_present())
alert = driver.switch_to.alert
alert.accept()
break
except:
pass
调试时,Webdriver 似乎第二次挂起/冻结:WebDriverWait(driver, 5).until(EC.alert_is_present())
我尝试像这样运行它,但仍然遇到同样的问题:
try:
sleep(1)
while EC.alert_is_present():
sleep(3)
alert = driver.switch_to.alert
alert.accept()
break
except:
pass
这次它挂起/冻结:alert = driver.switch_to.alert
尝试过使用和不使用 sleep() 并尝试使用 WebDriverWait(),所有这些的组合仍然没有运气。
你找到解决办法了吗?切换到框架时我遇到了同样的问题。在更新 Chrome 之前我从未遇到过这个问题。所以我想降级我的浏览器和网络驱动程序可能会解决这个问题。但我不太确定。