DeprecationWarning:executable_path は非推奨になりました selenium python 質問する

DeprecationWarning:executable_path は非推奨になりました selenium python 質問する

私はPythonスクリプトをコーディングするためにSublimeを使用しています。次のコードは、webdriver_managerパッケージを使用してPythonのSeleniumがドライバーを自動的にインストールするためのものです。

# pip install webdriver-manager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.maximize_window()

#s=Service(path)
#driver=webdriver.Chrome(service=s)
driver.get('https://www.google.com')
driver.find_element(By.NAME, 'q').send_keys('Yasser Khalil')

コードは正常に動作しますが、次のような警告が表示されました

Demo.py:7: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
  driver = webdriver.Chrome(ChromeDriverManager().install())

このようなバグを修正するにはどうすればいいでしょうか?

ベストアンサー1

このエラーメッセージは...

DeprecationWarning: executable_path has been deprecated, please pass in a Service object

...は、 executable_path今後のリリースでは廃止される予定です。

この変更は、セレン 4.0 ベータ 1 変更履歴以下について言及しています:

Optionsドライバーのインスタンス化における、および以外のすべてのService引数を非推奨にします。(#9125、#9128)


解決

として executable_pathService()は非推奨なので、以下で説明するように、コマンドとともにクラスのインスタンスを使用する必要がありますChromeDriverManager().install()

前提条件

確認しておいて:

  • セレンアップグレードされますバージョン4.0.0

    pip3 install -U selenium
    
  • Python 用 Webdriver マネージャーインストールされている

    pip3 install webdriver-manager
    

インストールに関する詳細な説明は以下をご覧ください。Python 用 Webdriver マネージャーModuleNotFoundError: webdrivermanager をインストールした後でも、「webdriver_manager」という名前のモジュールが見つからないというエラーが発生する

Selenium v​​4 互換コードブロック

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.get("https://www.google.com")

コンソール出力:

[WDM] - ====== WebDriver manager ======
[WDM] - Current google-chrome version is 96.0.4664
[WDM] - Get LATEST driver version for 96.0.4664
[WDM] - Driver [C:\Users\Admin\.wdm\drivers\chromedriver\win32\96.0.4664.45\chromedriver.exe] found in cache

インストールに関する詳細な説明は以下をご覧ください。Python 用 Webdriver マネージャーPython 用 Webdriver Manager を使用した Selenium ChromeDriver の問題


合格したい場合Options()使用できるオブジェクト:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

options = Options()
options.add_argument("start-maximized")
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)
driver.get("https://www.google.com")

TL; DR

関連するバグレポート/プルリクエストは次の場所にあります:

おすすめ記事