1. 前言
发文章的主要目的是为了记录自己的学习过程,同时也可以防止遗忘,如果可以帮助到有需要的人那就更好啦。本人水平有限,词语略显白话,望谅解。
如果有什么不合适或者补充的地方大家可以留言或私信,我会进行修改。
2. 介绍
selenium是基于web的自动化工具,支持多种语言(如java、python等,后面的例子都是用python举例)。学习这个的目的是想用该框架写一个网页脚本,了解到这个是模拟人类的操作,可以防止部分反爬虫的措施。
3. 安装浏览器驱动
首先需要安装一个对应浏览器的驱动,因为selenium是通过控制浏览器驱动进行操作的,浏览器要下载与浏览器对应的版本(例子里用的是edge浏览器,大家用谷歌换成对应的即可)。
下方是edge浏览器的驱动链接。
https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver?form=MA13LH
4. 安装selenium库
使用pip或conda安装都可以,我用的是anaconda安装的。selenium目前出到了4.2的版本,3.+的版本和4.+的版本对于函数的格式有一些变化,不过版本高的可以对低的版本进行兼容。
conda install selenium
5. 导入库并调用浏览器驱动
from selenium import webdriver
driver=webdriver.Edge(r'D:\\Internet\\edge-driver\\msedgedriver.exe')
这里的通过填写驱动的路径从而操作调用浏览器驱动。也可以将浏览器驱动所在的文件夹添加到系统变量里 ,这样无需添加在这里添加浏览器驱动,系统会自动进行查找。
6. find_element定位元素方法
选择元素的方法有3种,分别用于不同的情况,这是第一种,也是最基本的方法。
6.1 定位web网页的元素
想要操控web网页的具体功能,如登录按钮、搜索框等,需要先定位到对应的元素位置,打开浏览器开发者模式找到所需元素的id、class_name、tag_name三者其一。
6.2 根据id定位元素
id是唯一的,所以根据id定位元素只会返回一个值。例如这个是搜索框的元素。

element=driver.find_element(By.ID,'q')
接下来就可以根据element进行具体的操作,如输入字符串、获取当前搜索栏的内容等。
6.3 根据class_name定位元素
由于class_name用来标识一类商品,所以这个方法的返回值是一个集合。

element=driver.find_element(By.CLASS_NAME,'btn-login')
6.4 根据tag_name定位元素
element=driver.find_element(By.TAG_NAME,'btn-login')
1495

被折叠的 条评论
为什么被折叠?



