Selenium篇如期而至,不同于前一个appium的系列,这个系列将直接带大家从selenium工具的入门到进阶
此外这一个系列的全部都将附带视频教学,需要视频教学的可以点击并输入暗号:CSDN
那么就开始吧!!!
目录
前言
环境搭建就不讲了,博客、CSDN上都有不少的教程,甚至B站也有专门的视频教程,嫌麻烦的也可以点击并输入暗号:CSDN在里面咨询一下教程和安装过程中遇到的问题
这篇就开始学习 selenium 的 webdriver 框架。
我们平常说的 selenium 自动化,其实它并不是类似于 QTP 之类的有 GUI 界
面的可视化工具,我们要学的是 webdriver 框架的 API。
第 1章 webdriver
1.1 操作浏览器基本方法
前言
本张主要将从零讲述如何用 Python 调用 webdriver 框架的 API
并对一些常规的操作,如打开、前进、后退、刷新、设置窗口大小、截屏、退出等进行代码讲解
1.1.1 打开网页
- 第一步:从 selenium 里面导入 webdriver 模块
- 打开 Firefox 浏览器(Ie 和 Chrome 对应下面的)
- 打开百度网址
# coding:utf-8
# 第一步导入webdriver模块
from selenium import webderiver
# 第二步打开浏览器
driver = webderiver.Firefox()
# driver = webderiver.Ie()# Ie浏览器请用这个
# driver = webderiver.Chrome() #谷歌浏览器用这个
# 第三部打开百度
driver.get("hettp://www.baidu.com")
1.1.2 设置休眠
-
由于打开百度网址后,页面加载需要几秒钟,所以最好等到页面加载完成后再
继续下一步操作 -
导入 time 模块,time 模块是 Python 自带的,所以无需下载
-
设置等待时间,单位是秒(s),时间值可以是小数也可以是整数
# coding:utf-8
from selenium import webderiver
# 导入time模块
import time
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
# 设置休眠时间3秒,也可以是小数,单位是秒
time.sleep(3)
1.1.3 页面刷新
- 有时候页面操作后,数据可能没及时同步,需要重新刷新
- 这里可以模拟刷新页面操作,相当于浏览器输入框后面的刷新按钮
# coding:utf-8
from selenium import webderiver
import time
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
time.sleep(3)
# 等待3秒后刷新页面
driver.refresh()
2.1.4 页面切换
- 当在一个浏览器打开两个页面后,想返回上一页面,相当于浏览器左上角的左箭头按钮
- 返回到上一页面后,也可以切换到下一页,相当于浏览器左上角的右箭头按钮
# coding:utf-8
from selenium import webderiver
import time
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
time.sleep(3)
driver.get("https://www.hordehome。com")
time.sleep(5)
# 返回上一页
driver.back()
time.sleep(3)
# 切换到下一页
driver.forward()
1.1.5 设置窗口大小
- 可以设置浏览器窗口大小,如设置窗口大小为手机分辨率 540*960
- 也可以最大化窗口
# coding:utf-8
from selenium import webderiver
import time
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
# 设置窗口大小为1920*1080
driver.set_window_size(1920,1080)
time.sleep(2)
# 将浏览器窗口最大化
driver.maximxze_window()
1.1.6 截屏
-
打开网站之后,也可以对屏幕截屏
-
截屏后设置制定的保存路径+文件名称+后缀
# coding:utf-8
from selenium import webderiver
import time
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
time.sleep(3)
driver.get_screenshot_as_file("D\\changshi\\bl.jpg")
1.1.7 退出
- 退出有两种方式,一种是 close;另外一种是 quit
- close 用于关闭当前窗口,当打开的窗口较多时,就可以用 close 关闭部分窗
口 - quit 用于结束进程,关闭所有的窗口
- 最后结束测试,要用 quit。quit 可以回收 c 盘的临时文件
# coding:utf-8
from selenium import webderiver
import time
driver = webderiver.Firefox()
driver.get("https://www.baidu.com")
time.sleep(3)
# driver.close()关闭当前窗口
# quit用于退出浏览器进程
driver.quit()
掌握了浏览器的基本操作后,接下来就可以开始学习元素定位了,元素定位需要有一定的 html 基础。
没有基础的可以按下浏览器的 F12 快捷键先看下 html 的布局,先了解一些就可以了
1.1.8加载浏览器配置
启动浏览器后,发现右上角安装的插件不见了,这是因为 webdriver启动浏览器时候,是开的一个虚拟线程,跟手工点开是有区别的,
selenium 的一切操作都是模拟人工(不完全等于人工操作)。
后话
最近双十一有点忙,就更新到这儿了,下一节预告一下元素定位吧
八大元素定位:id 定位、name 定位、class 定位、tag 定位、link 定位、partial_link 定位、xpath 定位、css 定位
其中css元素定位和xpath元素定位会着重说一下
需要本次页面操作的视频教程可以点击并输入暗号:CSDN