活动地址: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 webdriver driver = 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标签如下
driver.find_element_by_class_name("toolbar-search-container")
tag 定位
假设有div标签如下
driver.find_element_by_tag_name("div")
link 定位
link
专门用来定位文本链接
顶顶顶driver.find_element_by_link_text("顶顶顶")
7、浏览器控制
修改浏览器窗口大小
from selenium import webdriver # Chrome浏览器 driver = webdriver.Chrome() driver.get('https://www.csdn.net/') # 设置浏览器浏览器的宽高为:500x900 driver.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 webdriver from time import sleep driver = 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()# 刷新页面
二、常见操作
版权归原作者 醉蕤 所有, 如有侵权,请联系我们删除。