Mac系统下Safari/Chrome使用Selenium的driver.get()无法打开网站怎么办
问题核心原因
你传入driver.get()的地址缺少HTTP/HTTPS协议头,Selenium的浏览器驱动不会自动补全URL协议,所以无法正常跳转。Windows环境下如果老师的代码里实际写了完整协议或者环境配置了默认协议补全,才会运行正常。
修复步骤
1. 优先修改代码URL参数
把driver.get('google.com')替换为完整带协议的地址:
driver.get('https://www.google.com')
修改后先运行测试,90%以上的同类无跳转问题都是这个原因导致的。
2. 如果修改URL后Safari仍然无法跳转,检查Safari远程自动化配置
Mac下Safari默认没有打开Selenium需要的远程控制权限,需要手动开启:
- 打开Safari,点击顶部菜单栏「Safari浏览器」-「设置」
- 切换到「高级」选项卡,勾选底部「在菜单栏中显示开发菜单」
- 点击顶部菜单栏新出现的「开发」选项,勾选「允许远程自动化」
- 重启Safari后重新运行代码即可
3. 如果修改URL后Chrome仍然无法跳转,检查两个配置:
- 确认Chrome浏览器版本和你下载的ChromeDriver版本完全匹配,大版本号一致即可
- 给ChromeDriver加执行权限,打开终端运行命令:
sudo chmod +x /usr/local/bin/chromedriver - 首次运行ChromeDriver时如果弹出无法验证开发者的提示,打开「系统偏好设置」-「安全性与隐私」,在通用选项卡底部点击「仍要允许」即可
内容的提问来源于stack exchange,提问作者Akash Thomas
相关产品推荐
相关产品推荐

