作者clsmbstu (missing)
看板Python
标题[问题] 使用selenium.webdriver.Safari()失败
时间Tue Apr 10 19:24:10 2018
最近想用selenium模拟点击下一页,像这篇网页的教学:
https://ithelp.ithome.com.tw/articles/10194149
但是我才在模拟浏览器就卡关了,当我执行webdriver.Safari()时,
Python给我的错误是:
AttributeError: 'WebDriver' object has no attribute 'service'
我完全看不懂这个错误讯息的意思是什麽。
後来也有查到每种浏览器大概都还需要Driver才行,
但根据这个issue:
https://github.com/SeleniumHQ/selenium/issues/2941,
Safari 10+应该已经有内建safaridriver,
我用的是Safari 11.1,/usr/bin/safaridriver也存在,
想请问这可能是什麽问题呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 203.74.120.191
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1523359457.A.AA0.html
1F:推 MAGICXX: 我不知道mac有没有关系 不过我看来就是PATH(环境变数) 04/10 23:24
2F:→ MAGICXX: 里面没有的可能性局多… 04/10 23:24
3F:→ handsomeLin: 你的码是自己敲的还是复制贴上的? 04/10 23:37
4F:→ handsomeLin: 贴一下你的Code吧 04/10 23:38
# In Python
>> from selenium import webdriver
>> webdriver.Safari()
AttributeError: 'WebDriver' object has no attribute 'service'
>> webdriver.Safari(executable_path='/usr/bin/safaridriver')
AttributeError: 'WebDriver' object has no attribute 'service'
>> import selenium
>> selenium.__version__
'3.11.0'
# In terminal
>> ls /usr/bin/ | grep safari
safaridriver
※ 编辑: clsmbstu (114.42.159.22), 04/11/2018 00:00:01
5F:推 handsomeLin: 现在手边没有电脑 你试试把他assign给一个variable 04/11 00:16
6F:→ handsomeLin: 可以顺便说一下selenium的版本吗 04/11 00:17
7F:→ clsmbstu: browser = webdriver.Safari() 会出现一样的错误 04/11 00:21
※ 编辑: clsmbstu (114.42.159.22), 04/11/2018 00:23:22
8F:→ clsmbstu: selenium版本是3.11.0 04/11 00:24
9F:推 handsomeLin: 刚查了个简体网站,说Safari的webdriver默认是关闭得 04/11 00:46
10F:→ handsomeLin: 去打开,试试吧 04/11 00:46
11F:→ clsmbstu: /usr/bin/safaridriver --enable 是这样吗? 04/11 01:17
12F:→ clsmbstu: 我刚刚试了上面那行,有被要求系统密码,但回到Python 04/11 01:18
13F:→ clsmbstu: 还是一样的结果 04/11 01:18
14F:推 ThxThx: 我看了source code,这是他的bug,请用3.8的selenium 04/11 03:12
15F:→ ThxThx: pip install selenium==3.8 04/11 03:12
17F:→ clsmbstu: 有人在3.10.0遇到一样的问题,但应该要已经修好了? 04/11 10:12
19F:→ clsmbstu: 看来已经修好了,但没有放在3.11.0里面 04/11 12:43