在通过 Selenium (Python) 与网站交互时,我得到这个弹出窗口:
我想选中复选框,然后单击左侧按钮。
我尝试访问弹出窗口(我认为这是一个警报)
driver.switch_to.alert
然而,这引发了一个
NoAlertPresentException
。当我在 jupyter notebook 中逐步执行此操作时,弹出窗口肯定已经存在(没有时间问题)。
这不是警报吗?我该如何解决这个问题?
非常感谢!
我还没有想出如何用 Selenium 做到这一点,但我找到了两个解决方法:
1:使用pyautogui
使用 pyautogui 您可以在屏幕上指定 (x,y) 坐标,然后单击鼠标。这个解决方案似乎不是很稳定,因为它取决于屏幕尺寸/分辨率、浏览器的位置和浏览器本身。 我找到了两种让它更可靠的方法:
2:使用 Firefox 配置文件
在我的例子中,复选框检查可以保存在 firefox 配置文件中,这样弹出窗口就不会再出现了。可以像这样创建 firefox 配置文件:https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles。然后 selenium 可以使用此配置文件。