今天在學習python中的selenium時出現了一些錯誤,後來解決了,在這裡與大家分享解決方法。
程式碼如下:
from selenium import webdriver
brower = webdriver.firefox()
brower.get('')
print(brower.page_source)
brower.close()
最初的執行結果是:
traceback (most recent call last):
file "/home/eric/.local/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 74, in start
stdout=self.log_file, stderr=self.log_file)
file "/usr/lib/python3.5/subprocess.py", line 947, in init
restore_signals, start_new_session)
file "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg)
filenotfounderror: [errno 2] no such file or directory: 'geckodriver'
during handling of the above exception, another exception occurred:
traceback (most recent call last):
file "/home/eric/pycharmprojects/untitled12/12.py", line 2, in
brower = webdriver.firefox()
file "/home/eric/.local/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 144, in init
self.service.start()
file "/home/eric/.local/lib/python3.5/site-packages/selenium/webdriver/common/service.py", line 81, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.webdriverexception: message: 'geckodriver' executable needs to be in path.
process finished with exit code 1
通過求助,了解到是瀏覽器缺少驅動造成的問題。也就是缺少geckodriver。
1.於是先下載驅動(由於我是linux系統,我下載的是geckodriver-v0.18-linux64.tar.gz
2.下載完成後,開啟終端
sudo tar zxvf geckodriver-v0.18.0-linux64.tar.gz
sudo mv geckodriver /usr/bin/ #移動到指定路徑
cd /usr/bin/ #進入路徑
sudo chmod +x geckodriver #除去許可權
3.重新啟動程式,正常執行,結果由於太長,在此就不貼上類。
最後感謝為我提供幫助的人。
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...