活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
学习日记
目录
一、Selenium库介绍
1、Selenium简介
Selenium 是一套完整的web应用程序测试系统,包含了测试的录制(Selenium IDE),编写及运行(Selenium Remote Control)和测试的并行处理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript编写,因此可以用于任何支持JavaScript的浏览器上。Selenium 支持的语言包括C#,Java,Perl,PHP,Python 和 Ruby。目前,Selenium Web 驱动程序最受 Python 和 C#欢迎。 Selenium 测试脚本可以使用任何支持的编程语言进行编码,并且可以直接在大多数现代 Web 浏览器中运行。
2、Selenium的安装
打开 cmd,输入下面命令进行安装。
pip install selenium
执行后,使用
pip show selenium
查看是否安装成功。
3、安装浏览器驱动
针对不同的浏览器,需要安装不同的驱动
Firefox 浏览器驱动:Firefox
Chrome 浏览器驱动:Chrome
Edge 浏览器驱动:Edge
推荐chrome谷歌浏览器作为模拟浏览器,因此还需要chromedriver作为驱动,但 Chrome
在用 selenium
进行自动化测试时还是有部分 bug
,常规使用没什么问题,但如果出现一些很少见的报错,可以使用 Firefox
进行尝试,毕竟是 selenium
官方推荐使用的。
现在,因为相应版本选择需要查看谷歌浏览器版本,在chrome浏览器上方地址栏输入:
chrome://settings/help
4、下载驱动
打开 Chrome驱动 。单击对应的版本。
根据自己的操作系统,选择下载
将
chromedriver.exe
保存到任意位置,并把当前路径保存到环境变量中(我的电脑>>右键属性>>高级系统设置>>高级>>环境变量>>系统变量>>Path),添加的时候要注意不要把 path 变量给覆盖了,如果覆盖了千万别关机,然后百度。添加成功后使用下面代码进行测试。
from selenium import webdriverdriver = webdriver.Chrome()
5、定位页面
使用
selenium
定位页面元素的前提是你已经了解基本的页面布局及各种标签含义。要定位并获取页面中的信息,首先要使用webdriver
打开指定页面,再去定位。
from selenium import webdriver# 不自动关闭浏览器option = webdriver.ChromeOptions()option.add_experimental_option("detach", True)driver = webdriver.Chrome(chrome_options=option)driver.get('https://www.csdn.net/')
6、几种常见的页面元素定位方式
id 定位
标签的 id 具有唯一性,假设有input标签如下。
driver.find_element_by_id("toolbar-search-input")
name 定位
name 指定标签的名称,在页面中可不唯一。假设有meta标签如下
driver.find_element_by_name("keywords")
class 定位
class 指定标签的类名,在页面中可不唯一。假设有div标签如下