目录
一、selenium概念
selenium是一个用于web应用程序测试的工具,可以在多个不同的浏览器上进行自动化测试。测试人员可以使用Java、python、c#等语言,利用他们提供的库来编写脚本使用selenium,不同的浏览器都包含一个单独的浏览器驱动程序,浏览器驱动与相应的浏览器通信。
二、selenium安装
基于python环境搭建(Windows 10):
1.安装python(3.10)
2.安装pycharm
3.安装selenium包:
在pycharm中输入:pip install selenium
4.下载WebDriver
根据不同浏览器找到相应的镜像,下载的镜像要与浏览器版本保持一致,将下载的文件,如msedgedriver.exe放在当前python文件夹下,(或者在系统环境变量Path中加入msedgedriver.exe的路径)
三、selenium用法
1.基本使用(打开一个网站)
from selenium import webdriver
import time
# webdriver 获取浏览器的对象
driver = webdriver.Edge()
# 准备一个网址
url = "https://www.baidu.com/"
driver.get(url)
time.sleep(5)
# 回收资源
driver.quit()
2.元素定位
元素定位的方法有八种:id、name、class、tag、css、xpath、link text、partial link text
(1)普通查找:id、name、class、tag
普通查找可以快速找到元素, 以百度为例:
# 通过 id 查找元素
element = driver.find_element(By.ID, 'kw') # 通过ID定位搜索框
element.send_keys('selenium')
driver.find_element(By.ID,'su').click()
# 通过 name 查找
driver.find_element(By.NAME,'wd').send_keys('haha')
# 通过 classname 查找
driver.find_element(By.CLASS_NAME,'s_ipt').send_keys('haha')
# 通过 tag 查找
driver.find_element(By.TAG_NAME,'div').click()
注意:用tag识别某一个元素成功率很低,每个页面有许多相同的tag
(2)css定位
可在CSS 选择器参考手册 (w3school.com.cn)查看具体的语法,以百度为例:
# 通过css选择器 定位
# id 选择器
driver.find_element(By.CSS_SELECTOR,'#kw').send_keys('csdn')
# class 选择器
driver.find_element(By.CSS_SELECTOR,'.s_ipt').send_keys('csdn')
#[attribute=value]
driver.find_element(By.CSS_SELECTOR,"input[name=wd]").send_keys('csdn')
(3) xpath定位
xpath = xml path,xml与html一样是标签语言,通过标签的嵌套来表达信息,自然形成了父节点、子节点、后代节点等关系。xpath就是通过这些节点来找到所需要的元素
xpath表达式
表达式 | 描述 |
nodename | 选取此节点的所有子节点 |
/ | 从根节点选取 |
// | 从匹配选择的当前节点选择文档中的节点,而不考虑他们的位置 |
. | 选取当前节点 |
.. | 选取当前姐节点的父节点 |
@ | 选取属性 |
text() | 获取文本 |
以百度为例:
# 通过 xpath 定位
driver.find_element(By.XPATH,"//*[@class='s_ipt']").send_keys('csdn')
driver.find_element(By.XPATH,"//*[text()='新闻']").click()