提问者:小点点

executable_path已被弃用硒蟒蛇


我正在使用sublime来编写python脚本,下面的代码是为python中的硒使用webdriver_manager包自动安装驱动程序

# 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())

如何修复这样的错误?


共3个答案

匿名用户

此错误消息...

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

...意味着键< code>executable_path将在即将发布的版本中被弃用。

这一变化与Selenium 4.0 Beta 1变更日志一致,其中提到:

弃用驱动程序实例化中除选项和服务参数之外的所有参数。(#9125,#9128)

使用 selenium4 作为关键executable_path不推荐使用,您必须使用 Service() 类的实例以及 ChromeDriverManager().install() 命令,如下所述。

确保:

> < li>

Selenium升级到版本4.0.0

pip3 install -U selenium

安装了适用于 Python 的 Web 驱动程序管理器

pip3 install webdriver-manager

您可以在 ModuleNotFoundError 中找到有关安装 Python Web 驱动程序管理器的详细讨论:即使在安装 webdrivermanager 后,也没有名为“webdriver_manager”的模块错误

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

您可以在Selenium Chrome使用Webdriver Manager for Python问题中找到有关安装Webdriver Manager for Python的详细讨论

如果您想要传递< code>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")

您可以在以下位置找到相关的错误报告/拉取请求:

  • 错误报告:在驱动程序实例化中弃用除选项和服务参数以外的所有参数
  • 拉取请求:在驱动程序实例化中弃用除选项和服务参数以外的所有参数

匿名用户

我能弄明白

# 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

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

匿名用户

这对我有用

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
ser = Service("C:\\chromedriver.exe")
op = webdriver.ChromeOptions()
s = webdriver.Chrome(service=ser, options=op)