活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。
学习日记
目录
学习日记
一、Selenium库介绍
1、Selenium简介
2、Selenium的安装
3、安装浏览器驱动
4、下载驱动
5、定位页面
6、几种常见的页面元素定位方式
id 定位
name 定位
class 定位
tag 定位
link 定位
7、浏览器控制
修改浏览器窗口大小
浏览器前进、后退
浏览器刷新
二、常见操作
一、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标签如下。
<input id="toolbar-search-input" autocomplete="off" type="text" value="" placeholder="C++难在哪里?">
driver.find_element_by_id("toolbar-search-input")
name 定位
name 指定标签的名称,在页面中可不唯一。假设有meta标签如下
<meta name="keywords" content="CSDN博客,CSDN学院,CSDN论坛,CSDN直播">
driver.find_element_by_name("keywords")
class 定位
class 指定标签的类名,在页面中可不唯一。假设有div标签如下
<div class="toolbar-search-container">
driver.find_element_by_class_name("toolbar-search-container")
tag 定位
假设有div标签如下
<div class="toolbar-search-container">
driver.find_element_by_tag_name("div")
link 定位
link
专门用来定位文本链接
<div class="practice-box" data-v-04f46969="">顶顶顶</div>
driver.find_element_by_link_text("顶顶顶")
7、浏览器控制
修改浏览器窗口大小
from selenium import webdriver# Chrome浏览器driver = webdriver.Chrome()driver.get('https://www.csdn.net/')# 设置浏览器浏览器的宽高为:500x900driver.set_window_size(500, 900)
显示全屏:
from selenium import webdriver# Chrome浏览器driver = webdriver.Chrome()driver.get('https://www.csdn.net/')driver.maximize_window()
浏览器前进、后退
from selenium import webdriverfrom time import sleepdriver = webdriver.Chrome()# 访问CSDN首页driver.get('https://www.csdn.net/')sleep(2)#访问CSDN个人主页driver.get('https://blog.csdn.net/m0_63794226?spm=3001.5343')sleep(2)#返回(后退)到CSDN首页driver.back()sleep(2)#前进到个人主页driver.forward()# 新标签中打开js = "window.open('https://www.csdn.net/')"driver.execute_script(js)
浏览器刷新
driver.refresh()# 刷新页面
二、常见操作