当前位置: 首页 > 知识库问答 >
问题:

executable_path已被弃用硒蟒蛇

王豪
2023-03-14

我正在使用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个答案

乐正浩博
2023-03-14

这对我有用

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)
邢献
2023-03-14

我能弄明白

# 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')
慕乐池
2023-03-14

此错误消息...

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")

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

  • 错误报告:在驱动程序实例化中弃用除选项和服务参数以外的所有参数
  • 拉取请求:在驱动程序实例化中弃用除选项和服务参数以外的所有参数
 类似资料:
  • 这是我的代码,意味着在 youtube 上进行搜索测试,但是当我运行它时,youtube 打开并收到一条错误消息,说“弃用警告:executable_path已被弃用,请传入服务对象。我的chromedriver与我的python文件位于同一文件夹中。

  • 我有以下代码。。。 ...执行以下操作: 实例化web驱动程序 导航到页面 点击页面上的按钮,打开一个新窗口 切换到新窗口 单击新窗口中的另一个按钮 不幸的是,单击第一个按钮后,新窗口从未打开,程序终止时出现以下错误: 今天之前一切都很好,我不知道发生了什么。有什么想法吗?

  • 我只是迁移到Spring mvc版本,但突然在eclipse STS WebMvcConfigrerAdapter中被标记为不建议使用 我怎么才能把它拿走!

  • 出现以下错误 下面是代码 下面是代码HTML 我尝试将替换为,但出现相同的错误消息:/

  • 问题内容: 我正在使用Spring Data Commons v2 +快照,并且看到a的构造函数已被弃用。这似乎发生在M1和M2之间。不幸的是,这是该接口的唯一[真实]实现。我想知道努力的方向,对于当前的开发有什么更好的选择。 问题答案: 只是已弃用的构造函数。代替 您现在可以使用 就是这样。

  • 我正在尝试使用本教程从一个使用selenium and beautiful soup的站点提取房地产列表信息:https://medium.com/@ben.sturm/scraping-house-listing-data-using-Selenium-and-Beautiful Soup-1CBB94BA9492 目的是在找到“下一页”按钮之前收集第一页的所有href链接,导航到下一页并收集该