Python 3.x 使用selenium时禁用Safari中的自动警告
我想使用selenium在safari中执行测试 不幸的是,当我尝试使用safari调试问题时,会出现一个通知,要求我在safari中禁用自动化或退出(附加图像) 为什么我不能在Chrome和FireFox中这样做(例如:按F12键查看DOM)? 注意:我正在将MacOs Catalina与selenium的Javascript和Python一起使用Python 3.x 使用selenium时禁用Safari中的自动警告,python-3.x,selenium,automation,safari,safaridriver,Python 3.x,Selenium,Automation,Safari,Safaridriver,我想使用selenium在safari中执行测试 不幸的是,当我尝试使用safari调试问题时,会出现一个通知,要求我在safari中禁用自动化或退出(附加图像) 为什么我不能在Chrome和FireFox中这样做(例如:按F12键查看DOM)? 注意:我正在将MacOs Catalina与selenium的Javascript和Python一起使用 这应该能解决你的问题 warnFromSafari = driver.SwitchTo().Alert(); warnFromSafari.A
这应该能解决你的问题
warnFromSafari = driver.SwitchTo().Alert();
warnFromSafari.Accept();
此错误消息
…表示默认情况下,Safari浏览器对开发人员和自动化开发人员的支持已关闭
配置Safari以启用WebDriver支持 根据Safari中的文档,默认情况下,开发人员的WebDriver支持处于关闭状态。启用WebDriver支持取决于您的操作系统
- 在High Sierra及以后:
- 您需要启用safaridriver一次
/usr/bin/safaridriver --enable
- 如果您是从以前的macOS版本升级,则可能需要按如下方式使用sudo:
sudo /usr/bin/safaridriver --enable
- 您需要启用safaridriver一次
- 塞拉和更早的国家:
- 使“开发”菜单可用。选择
Safari
,并在首选项
选项卡上,选择菜单栏中的高级
显示开发菜单
- 选择
开发
允许远程自动化
- 授权safaridriver启动承载本地web服务器的XPC服务。要允许此操作,请手动运行一次
,然后按照验证提示进行操作/usr/bin/safaridriver
继续会话-关闭弹出窗口并继续测试。因此,为所有遇到#Safari并尝试将其自动化的其他(沮丧的)开发人员总结一下。。由于这个限制,写自动化是不可能的 因此,选择是:
希望情况会有所改善不幸的是,这没有帮助:self.driver=webdriver.Safari()self.warnFromSafari=self.driver.SwitchTo().Alert()self.warnFromSafari.Accept()然后替换driver.SwitchTo().Alert();到self.driver.switchto().alert()不幸的是,我已经这么做了。自动化运行正常,但每当我单击浏览器时,就会出现此弹出窗口,并且不允许我在自动化实例中使用手动调试如果您阅读了其他答案,而不是将问题重写为答案,您可能知道可以关闭错误消息。如果你考虑编辑你的答案,我会考虑取消投票。请确保。@MyJobistBehappy-最初的问题涉及在调试模式下运行测试时手动干预和使用inspector功能的能力-“为什么我不能在Chrome和FireFox中这样做(例如:按F12查看DOM)?”我是唯一一个回答这个问题的人——从我所能看到的来看,我是唯一一个读过被问到的问题的人,包括你自己。被问到的问题是如何避免这个信息。“不幸的是,当我尝试使用safari调试问题时,会出现一个通知,要求我在safari中禁用自动化或退出”。问题是,“为什么我不能像在Chrome和FireFox中那样做呢?”。这意味着,为什么selenium不能像MacOS上的Chrome和Firefox那样运行呢。我明白这些词可能很难理解;)我仍然找不到解决办法。我得到的唯一结论是,苹果和safari对自动化不友好。因此,我们放弃了对safari的支持。