文章目录
简介
一、环境安装
1.selenium安装
2.安装浏览器驱动
2.1 确定浏览器版本
2.2 下载驱动
二、基础用法
1.对页面进行操作
1.1 初始化浏览器对象
1.2 访问页面
1.3 设置浏览器大小
1.4 前进后退
1.5 获取页面基础属性
2.定位页面元素
3.模拟鼠标操作
3.1 常用操作
4.模拟键盘操作
4.1 常用操作
5. 延时等待
5.1 强制等待
5.2 隐式等待
5.3 显式等待
6.切换操作
6.1 窗口切换
6.2 表单切换
7. 对Cookie操作
三、高级用法
1.execute_script方法
1.1 判断元素是否存在
1.2 滑动滚轮到页面底端
1.3 滑动滚轮至页面元素出现
1.4 滑动至动态元素可见
2.xpath方法
2.1 文本定位
2.2 模糊定位
2.3 逻辑定位
2.4 轴定位
总结
参考
简介
Selenium是广泛使用的模拟浏览器运行的库,它是一个用于Web应用程序测试的工具。 Selenium测试直接运行在浏览器中,就像真正的用户在操作一样,并且支持大多数现代 Web 浏览器。下面就进入正式的学习阶段。
一、环境安装
1.selenium安装
激活虚拟环境
activate nlptorch
通过pip安装
pip install selenium
2.安装浏览器驱动
针对不同的浏览器,需要安装不同的驱动。 下面以安装 Chrome 驱动作为演示。
2.1 确定浏览器版本
点击chrome浏览器最右侧的“三个点”图标,然后点击弹出的“帮助”中的“关于Google Chrome”,查看自己的版本信息。这里我的版本是94,这样在下载对应版本的 Chrome 驱动即可。
2.2 下载驱动
打开 下载Chrome驱动网页。单击对应的版本。 根据自己的操作系统,选择下载。
下载完成后,压缩包内只有一个 exe 文件。
将 chromedriver.exe 保存到任意位置,并把当前路径保存到环境变量。(建议将其保存到anaconda的安装目录下,这样不需要再添加环境变量了) 添加成功后使用下面代码进行测试。
from selenium import webdriver
# Chrome浏览器
driver = webdriver.Chrome()
如果能弹出Chrome浏览器,则说明安装成功。
二、基础用法
1.对页面进行操作
1.1 初始化浏览器对象
前期我们将Chrome驱动添加到环境变量了,所以我们可以直接初始化界面。(或者也可以通过指定绝对路径的方式)
from selenium import webdriver
# 初始化浏览器为chrome浏览器
browser = webdriver.Chrome()
# 指定绝对路径的方式(可选)
path = r'C:\Users\Gdc\.wdm\drivers\chromedriver\win32\96.0.4664.45\chromedriver.exe'
browser = webdriver.Chrome(path)
# 关闭浏览器
browser.close()
1.2 访问页面
进行页面访问使用的是get方法,传入参数为待访问页面的URL地址即可。
from selenium import webdriver
# 初始化浏览器为chrome浏览器
browser = webdriver.Chrome()
# 访问百度首页
browser.get(r'https://www.baidu.com/')
# 关闭浏览器
browser.close()
1.3 设置浏览器大小
set_window_size()方法可以用来设置浏览器大小(就是分辨率),而maximize_window则是设置浏览器为全屏。
from selenium import webdriver
import time
browser = webdriver.Chrome()
# 设置浏览器大小:全屏
browser.maximize_window()
browser.get('https://www.baidu.com')
time.sleep(2)
# 设置分辨率 500*500
browser.set_window_size(500,500)
time.sleep(2)
# 关闭浏览器
browser.close()
1.4 前进后退
前进后退也是我们在使用浏览器时非常常见的操作,这里forward()方法可以用来实现前进,back()可以用来实现后退。
from selenium import webdriver
import time
browser = webdriver.Chrome()
# 设置浏览器全屏
browser.maximize_window()
browser.get('https://www.baidu.com')
time