chrome driver下载、selenium安装及报错解决

目录

一、Chrome驱动下载

1.查看Chrome版本

2.下载驱动

3.驱动的路径

无法运行驱动

二、selenium的安装与使用

1.安装selenium

2.使用selenium

参考


一、Chrome驱动下载

1.查看Chrome版本

打开Chrome浏览器,点击右上角的三个点,再点击设置。

点击左下方的"设置",右侧可以看到Chrome的版本,"119.0.6045.106"。

2.下载驱动

bing搜索"Chrome driver",找到下图标记的链接点击进入。

或者直接点击下面的链接进入下载界面。

ChromeDriver - WebDriver for Chrome - Downloads (chromium.org)

下"downloads"界面下滑查找自己对应的版本,然后下载符合自己电脑配置的链接下载,如果下滑界面中没有自己想要的版本,则点击绿色标记的这个链接 。

打开后是以下界面,对照版本信息,只看前三位 " 119.0.6045.* " ,能对应上就行。

然后选择我们想要的驱动"chromedriver",我的电脑是64位,所以我选择"win64",然后将后面的链接复制到浏览器中就可以下载了。

3.驱动的路径

我们把下载的压缩包解压,找到"chromedriver.exe",并把它放置到与浏览器"Chrome.exe"相同的文件夹下。

及:C:\Users\Billie\AppData\Local\Google\Chrome\Application\chromedriver.exe

然后在代码中写入:

python 复制代码
from selenium import webdriver
driver = webdriver.Chrome()

然后就可以启动驱动了。

运行时也可能会因为版本或者驱动位置的问题而报错(上面的方法是我使用之后成功的,下面介绍一下我在使用时出现的一些BUG及可尝试的解决方法)。

无法运行驱动

当时将驱动放在在浏览器相同的文件夹下,然后在括号中添加了路径,就导致报错,后面把路径去掉后就可以成功运行了。(也有博主说,可以把chromedriver.exe放到python编译器相同的文件夹下,有需要的可以试一下。)

python 复制代码
from selenium import webdriver
driver = webdriver.Chrome("C:\Users\Billie\AppData\Local\Google\Chrome\Application\chromedriver.exe")

二、selenium的安装与使用

1.安装selenium

在conda环境中键入" pip install selenium "即可安装,安装后可能会出现以下版本不兼容的报错。

这种报错就按照要求上调或者下调(重新安装新版本的库)库的版本就可以了,这里我就是上调了"requests"的版本。

2.使用selenium

具体的使用方法可一参照官网的使用说明。

这里说一下在新版本的selenium中修改了一下对象的调用方式,我安装的selenium版本是"4.11.2",在"4.3.0"版本之后,一些代码就发生了改变。

比如

原调用方式:

python 复制代码
from selenium import webdriver
test = driver.find_elements_by_css_selector("#content > div.table.cent > div")

新调用方式:

python 复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
test = driver.find_elements(By.CSS_SELECTOR,"#content > div.table.cent > div")

这里,"by"相关的方法移到了"common.by"中,我们"ctrl"然后点击"by"进入到"by.py"文件中,可以看到这里可调用的对象。

参考

解决selenium使用webdriver.Chrome()报错的问题

Python报错AttributeError: 'WebDriver' object has no attribute 'find_element_by_xpath'解决方法

Python报错:AttributeError: 'WebDriver' object has no attribute 'find_element_by_link_text' 解决

相关推荐
梦想的旅途21 分钟前
企业微信API实战:Python自动化消息推送
java·前端·python·自动化·企业微信
恋猫de小郭1 分钟前
Flutter 3.47 发布,快来看看有什么更新吧
android·前端·flutter
程序员黑豆2 分钟前
Java 内存存储机制:基本数据类型 vs 引用数据类型
前端·ai编程·全栈
90后的晨仔13 分钟前
uni-app 三方库与插件管理体系全解析:从原生开发者视角彻底讲透
前端
程序员爱钓鱼16 分钟前
Rust 生命周期案例详解:从编译错误到真实业务场景
前端·后端·rust
90后的晨仔1 小时前
uni-app 跨端布局与适配技术指南
前端
紫禁玄科10 小时前
Shai-Hulud:npm生态的自我复制蠕虫风暴
前端·npm·node.js
东风破_10 小时前
后端API没写好,前端难道干等着吗?
前端
百变梦仔10 小时前
从读项目到纠偏交付:我把 Codex 前端任务闭环升级成了第二版
前端
用户9385156350710 小时前
从前后端分离到前端接口工程:React + MockJS + Vite 解析
前端·后端·全栈