關於 python中的selenium 錯誤

2021-08-06 02:06:27 字數 1950 閱讀 7409

今天在學習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迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...