作者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/m.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