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

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

背景

在使用之前的代码通过selenium操作Chrome时,报错:DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(xxx)

报错问题

DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(xxx)

截图如下:
在这里插入图片描述

报错翻译

主要报错信息内容翻译如下所示::
DeprecationWarning: executable_path has been deprecated, please pass in a Service object driver = webdriver.Chrome(xxx)
翻译:
弃用警告:executable_path已弃用,请传入服务对象 driver = webdriver.Chrome(xxx)

报错原因

经过查阅资料,发现出现 DeprecationWarning 警告的类型错误,大多属于版本更新时,所使用的方法过时的原因;某方法在当前版本被重构,依旧可以传入参数,但是在之后的某个版本会被删除。

本例中,这个报错是由于Selenium更新到新版本(4.x版本)后,以前一些代码的语法发生了改变,当然如果没有更新过或是下载最新版本的Selenium是不受到影响的,还可以使用以前的写法。

小伙伴们按下面的解决方法即可解决!!!

解决方法

由于新旧版本的语法发生了改变,有两种解决方法。
方法一:使用或恢复(4.x版本)之前的版本
也就是使用或恢复Selenium版本到(4.x版本)之前的版本

方法二:修改代码的语法为新版本的语法
旧版本语法代码

# 导入selenium
from selenium import webdriver

executable_path=r'chromedriver.exe'

# 选择谷歌浏览器
driver = webdriver.Chrome(executable_path)

# 输入网址
driver.get("https://www.baidu.com/")

# 打印网页title
print(driver.title)

# 关闭网址
driver.quit()

新版本语法代码

# 导入selenium
from selenium import webdriver

from selenium.webdriver.chrome.service import Service

# 选择谷歌浏览器
service = Service(executable_path=r'chromedriver.exe')

driver = webdriver.Chrome(service=service)

# 输入网址
driver.get("https://www.baidu.com/")

# 打印网页title
print(driver.title)

# 关闭网址
driver.quit()

运行截图如下
在这里插入图片描述



今天的分享就到此结束了

欢迎点赞评论关注三连

在这里插入图片描述

你可能感兴趣的:(Python,python,selenium,自动化)