很长时间以来,我一直在努力解决这个问题;您对问题的评论为我解决了问题:
后两者UnexpecteDalertPresentException
并NoAlertPresentException
抛出…
browser.execute_script('alert("Clearing out past dialogs.")')
browser.switch_to.alert.accept()
如您在回答中所说,当出现警报时,webdriver正在创建“对话框”。手动关闭警报会导致其参考信息陷入困境,但仍然阻止对的访问body.text
。创建新的警报似乎可以使Webdriver清除旧的“对话”,并(在接受之后)再次授予对该页面的访问权限。