我試圖通過檢查 Stackoverflow 和互聯網上的其他資源來修復上述錯誤。但我得到了錯誤。
我也安裝了webdriver_manager。但我無法運行代碼。
我正在使用 kubuntu,pycharm。
下面是我的代碼:
from selenium import webdriver
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
'''from webdriver_manager.chrome import ChromeDriverManager
driver.implicitly_wait(0.5)
from selenium.webdriver.common.keys import Keys
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
import time
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
#driver = webdriver.Chrome(ChromeDriverManager().install())'''
driver = webdriver.Chrome()
#driver = webdriver.Chrome(executable_path="/home/halovivek/Documents/Automation/selenium_driver/chromedriver.exe")
#driver = webdriver.Chrome()"
driver.maximize_window()
driver.get("https://www.google.com")
以下是我的錯誤資訊:
/home/halovivek/PycharmProjects/pythonProject/venv/bin/python /home/halovivek/PycharmProjects/pythonProject/Test.py
====== WebDriver manager ======
Current google-chrome version is 98.0.4758
Get LATEST chromedriver version for 98.0.4758 google-chrome
Driver [/home/halovivek/.wdm/drivers/chromedriver/linux64/98.0.4758.102/chromedriver] found in cache
/home/halovivek/PycharmProjects/pythonProject/Test.py:4: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
driver = webdriver.Chrome(ChromeDriverManager().install())
Traceback (most recent call last):
File "/home/halovivek/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/selenium/webdriver/common/service.py", line 71, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.9/subprocess.py", line 1821, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'chromedriver'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/halovivek/PycharmProjects/pythonProject/Test.py", line 16, in <module>
driver = webdriver.Chrome()
File "/home/halovivek/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/home/halovivek/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/selenium/webdriver/chromium/webdriver.py", line 90, in __init__
self.service.start()
File "/home/halovivek/PycharmProjects/pythonProject/venv/lib/python3.9/site-packages/selenium/webdriver/common/service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://chromedriver.chromium.org/home
Process finished with exit code 1
請幫我找到解決方案
uj5u.com熱心網友回復:
錯誤是
DeprecationWarning: executable_path has been deprecated, please pass in a Service object
解決方案是:
s = Service('/home/halovivek/Documents/Automation/selenium_driver/chromedriver.exe')
driver = webdriver.Chrome(service = s)
driver.maximize_window()
driver.get("https://www.google.com")
確保從這里下載最新版本的 chromedriver
進口:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
uj5u.com熱心網友回復:
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
由于可執行路徑已被貶值,因此必須結合使用它們。
uj5u.com熱心網友回復:
您需要注意以下幾點:
- 如果您使用的是ChromeDriverManager - Python 的 Webdriver Manager,您不必顯式下載ChromeDriver,因為它會自動下載。
- 如果你想使用下載的ChromeDriver你可以避免使用ChromeDriverManager - Webdriver Manager
- 此外,executable_path已被棄用硒4并且您必須使用
Service().
解決方案
使用ChromeDriverManager,您可以使用以下代碼塊:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.maximize_window()
driver.get("https://www.google.com")
下載特定版本的ChromeDriver,您可以使用以下代碼塊:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
s = Service('/home/halovivek/Documents/Automation/selenium_driver/chromedriver')
driver = webdriver.Chrome(service=s)
注意:如果您在Linux / MAC O SX系統上,您需要剝離擴展部分,即.exe因為它僅適用于視窗平臺。
參考
您可以在以下位置找到一些詳細的討論:
- 將 Selenium 與用 Python 撰寫的 Brave Browser 傳遞服務物件一起使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/430626.html
標籤:硒 谷歌浏览器 硒铬驱动程序 网络驱动程序管理器 webdrivermanager-python
