首页 ZZ游戏攻略 正文

chromedriver是什么?有什么用?一篇文章给你讲明白!

今天来跟大家聊聊我是怎么折腾 ChromeDriver 的。我主要是想搞点自动化操作,省点事儿。你知道的,有些网页上的重复操作,点来点去的,烦死个人。

初识 ChromeDriver

我听说 Selenium 这个东西,说它能模拟人在浏览器上的操作。然后我就去查查,发现要用 Selenium 控制 Chrome 浏览器,就得靠 ChromeDriver。

简单来说,ChromeDriver 就像一个“翻译官”,把 Selenium 的指令“翻译”给 Chrome 浏览器,让浏览器乖乖听话。

安装 ChromeDriver

这玩意儿的安装,一开始让我有点懵。我得先去找到跟我 Chrome 浏览器版本对应的 ChromeDriver 版本,这事儿就挺重要的,版本不对,它俩就“谈不来”。

我记得当时,我打开 Chrome 浏览器,点右上角的“三个点”,然后找到“帮助”,再点“关于 Google Chrome”,就看到我的浏览器版本号。然后,我就去 ChromeDriver 的下载页面,找对应的版本下载。

下载下来之后,我把它解压到一个我记得住的地方。这一步也很关键,因为后面我得告诉 Selenium,ChromeDriver 在哪儿。

配置 ChromeDriver

就是让 Selenium 找到 ChromeDriver。我当时用的是 Python,所以就得在 Python 脚本里设置一下。

我记得我当时是这么写的:

  • 先导入 webdriver:

from selenium import webdriver

  • 然后指定 ChromeDriver 的路径:

driver = *(executable_path='/path/to/chromedriver')

/path/to/chromedriver 替换成我实际存放 ChromeDriver 的路径。这一步,就像是告诉 Selenium:“ChromeDriver 在这儿,你去这儿找它!”

开始使用

配置好之后,我就开始写我的第一个自动化脚本。我记得当时是想让浏览器自动打开一个网页,然后填个表单。

我先用 方法打开网页:

然后,我得找到表单里的那些输入框和按钮。我右键点击网页上的输入框,选择“检查”,然后在弹出的开发者工具里,找到输入框对应的 HTML 代码。一般就是 <input> 标签,然后看看它的 id 或者 name 属性是

找到之后,我就用 *_element_by_id() 或者 *_element_by_name() 这些方法找到输入框,然后用 send_keys() 方法往里面输入内容:

element = *_element_by_id("username")

*_keys("我的用户名")

找到提交按钮,然后用 click()点击提交。搞定!

遇到的坑

这一路上我也踩不少坑。比如:

  • 版本不匹配: 就像我前面说的,ChromeDriver 和 Chrome 浏览器的版本得对应上,不然就会报错。

  • 元素找不到: 有时候网页加载慢,或者元素藏得比较深,Selenium 就找不到。这时候,我就得用 “等待” 机制,让 Selenium 多等一会儿,或者换个方法找元素。

  • 弹窗处理: 有些网页会弹出各种提示框,这时候我就得用 Selenium 的 switch_* 方法,切换到弹窗,然后点确定或者取消。

总结

ChromeDriver 帮我省不少事儿。虽然一开始配置起来有点麻烦,但是一旦搞定,写起自动化脚本来就爽多。我现在已经用它做不少自动化的小工具,感觉生活都轻松不少!

今天的分享就到这里。希望我的这点小经验,能帮到大家!