at backyard

Color my life with the chaos of trouble.

Seleniumとwebdriver-managerを使っていてDeprecationWarning: executable_path has been deprecated, please pass in a Service objectが出たとき

Selenium + webdriver-managerを使っていて、下記のようなwarningが出た。

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

コードとしては下記のように書いていたが、

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager


def main():
    driver = webdriver.Chrome(ChromeDriverManager().install())
    # 以下省略


if __name__ == "__main__":
    main()

下記のように Service を使うよう修正する必要がある。

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


def main():
    s=Service(ChromeDriverManager().install())
    driver = webdriver.Chrome(service=s)
    # 以下省略

if __name__ == "__main__":
    main()

これで警告は出なくなった。

参照したポスト

下記のstackoverflowを参照している。
Seleniumの4系から出るようになった警告のようだ。

stackoverflow.com