2

我想使用 Safari 作为 python 的浏览器,代码相当简单:

from selenium import webdriver
driver = webdriver.Safari()
url = 'https://www.gmail.com/'
driver.get(url)

我正在使用最新版本的 Safari,11.0.3,

在首选项扩展中,我安装了 WebDriver,

在开发菜单中,我启用了“允许远程自动化”。

我正在使用 python 3.5,硒 3.10.0

运行上面的代码时,我收到以下错误消息:

Traceback (most recent call last):
  File "/Users/hwang/Documents/Lumi_personal/Coding/sandbox/testSelenium.py", line 2, in <module>
driver = webdriver.Safari()

File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/selenium/webdriver/safari/webdriver.py", line 49, in __init__
self.service.start()

AttributeError: 'WebDriver' object has no attribute 'service'

任何帮助表示赞赏!提前致谢!

4

2 回答 2

6

我在 selenium 3.10 上遇到了同样的问题,但在 3.9 上没有。

显然,根据:https ://github.com/SeleniumHQ/selenium/issues/5578,3.10 版中存在一个错误

我的临时解决方案是卸载 selenium 3.10,然后安装 3.9:

pip uninstall selenium
pip install selenium==3.9

它应该可以解决问题。

于 2018-03-10T23:56:41.343 回答
0

您还可以通过添加第 25 行和第 49 行来“修补”Safari webdriver https://github.com/SeleniumHQ/selenium/commit/2a0f63d19bd6e666ad432ee459762489d6b6033a

于 2018-04-25T03:18:50.373 回答