『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API
相比于高大上的各种Selenium进阶指南,个人认为夯实基础至关重要。
在Selenium测试框架的API中,主要分为三大类:
- 对浏览器本身的相关操作。
- 对浏览器页面中,元素的定位操作。
- 对浏览器页面中元素进行定位后,对该元素的一些操作。如:点击、输入等操作。
我们本篇文章先说说Selenium框架对浏览器对象的基础操作。
1、导入Selenium库
# 导入Selenium驱动
from selenium import webdriver
2、创建浏览器对象
即:打开一个浏览器。
# 语法:driver = webdriver.xxx()
driver = webdriver.Chrome()
# 使用dir(driver)查看浏览器对象的操作
print(dir(driver))
3、浏览器窗口大小设置
# 1.设置浏览器尺寸
# 宽480、高800(最好根据显示器分别调整)
driver.set_window_size(480, 800)
# 2.获取浏览器尺寸
driver.get_window_size()
# 3.浏览器窗口最大化(很常用)
driver.maximize_window()
示例:
"""
1.学习目标
掌握selenium中控制浏览器窗口大小的方法
2.操作步骤(方法)
2.1设置浏览器窗口大小,宽度,高度
driver.set_window_size(宽,高)
2.2 获取浏览器窗口大小
driver.get_window_size()
2.3将浏览器窗口最大化
driver.maximize_window)
3.需求
使用selenium实现对浏览器窗口大小的设置
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep
# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()
# 3.设置浏览器窗口大小
# 3.1 将窗口设置为宽100,高200
# (windowHandle参数为窗口句柄,以后再说)
driver.set_window_size(100, 200)
sleep(3)
# 3.2 获取浏览器窗口大小
window_size = driver.get_window_size()
print(window_size)
# 3.3 窗口最大化
driver.maximize_window()
# 4.关闭浏览器
driver.quit()
"""
输出结果:
{'width': 516, 'height': 200}
"""
4、浏览器位置设置
# 1.获取浏览器位置
driver.get_window_position()
# 2.设置浏览器位置
driver.set_window_position(x,y)
注:显示器以左上角为
(0,0),所有的位置操作都是相对于显示器左上角展开的位移操作,单位是像素。
示例:
"""
1.学习目标
掌握selenium中控制浏览器窗口位置的方法
2.操作步骤(方法)
2.1 设置浏览器窗口位置(横纵坐标)
set_window_position(横坐标,纵坐标)
2.2 获取浏览器窗口位置
driver.get_window_position()
3.需求
使用selenium实现对浏览器窗口位置的设置
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep
# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()
# 3.设置浏览器位置
# 3.1 将窗口的位置设置为100,300
driver.set_window_position(100, 300)
sleep(2)
# 3.2 获取浏览器窗口位置
window_position = driver.get_window_position()
print(window_position)
# 4.关闭浏览器
driver.quit()
"""
输出结果:
{'x': 100, 'y': 300}
"""
5、请求访问网址
# 请求某个url
# 语法:driver.get(url)
# 工作中写法
url = "http://www.baidu.com"
driver.get(url)
示例:
"""
1.学习目标
掌握selenium中控制浏览器访问指定网站的操作
2.操作步骤(方法)
请求某个url
语法:driver.get(url)
3.需求
使用selenium实现对浏览器访问指定网站的操作
"""
# 1.导入seleniun
from selenium import webdriver
from time import sleep
# 2.打开谷歌浏览器(获取浏览器操作对象)
driver = webdriver.Chrome()
# 3.访问网站
url = "http://www.baidu.com"
driver.get(url)
sleep(2)
# 4.关闭浏览器
driver.quit()
6、浏览器页面前进、后退和刷新
# 1.页面前进
driver.forward()
# 2.页面后退
driver.back()
# 3.页面刷新
driver.refresh()
示例:
"""
1.学习目标
掌握selenium控制浏览器的前进,后退,刷新
2.操作步骤(语法)
2.1前进
driver.forward()
2.2后退
driver.back()
2.3刷新
driver.refresh()
3.需求
使用谷歌浏览器分别打开百度,京东,淘宝,使用前进,后退,刷新方法
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
# 2.打开浏览器---谷歌浏览器
driver = webdriver.Chrome()
# 3.窗口最大化
driver.maximize_window()
sleep(2)
# 4.输入网址百度,京东,淘宝
driver.get("http://www.baidu.com")
sleep(2)
driver.get("http://www.jd.com")
sleep(2)
driver.get("http://www.taobao.com")
sleep(2)
# 5.使用前进,后退,刷新命令
# 前进
driver.back() # 后退到京东
sleep(2)
driver.back() # 后退到百度
sleep(2)
# 后退
driver.forward() # 前进到京东
sleep(2)
driver.forward() # 前进到淘宝
sleep(2)
# 刷新
driver.refresh() # 保持在淘宝页面
sleep(2)
# 6.关闭浏览器
driver.quit()
7、关闭浏览器
(1)关闭当前窗口
# 只关闭当前浏览器窗口
driver.close()
(2)退出驱动并关闭所有关联的窗口
# 即关闭浏览器窗口,同时关闭浏览器驱动
driver.quit()
『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API的更多相关文章
- 『心善渊』Selenium3.0基础 — 24、Selenium的expected_conditions模块详细介绍
目录 1.EC模块介绍 2.EC模块常用类 3.EC模块的使用 4.EC模块综合使用 (1)title_is(title)示例 (2)presence_of_element_located(locat ...
- 『心善渊』Selenium3.0基础 — 11、Selenium对元素常用操作
目录 1.Selenium对元素常用操作 2.Selenium对元素的其他操作 1.Selenium对元素常用操作 操作 说明 click() 单击元素 send_keys() 模拟输入 clear( ...
- 『心善渊』Selenium3.0基础 — 12、Selenium操作鼠标和键盘事件
目录 (一)对鼠标的操作 1.鼠标事件介绍 2.ActionChains 类鼠标操作的常用方法 3.perform()方法 4.鼠标事件操作步骤 5.示例 (1)右键单击.左键双击 (2)鼠标拖拽动作 ...
- 『心善渊』Selenium3.0基础 — 1、Selenium自动化测试框架介绍
目录 1.Selenium介绍 2.Selenium的特点 3.Selenium版本说明 4.拓展:WebDriver与Selenium RC的区别 5.Webdriver工作原理 1.Seleniu ...
- 『心善渊』Selenium3.0基础 — 4、Selenium基础元素定位详解
目录 1.什么是元素定位 2.Selenium元素定位常用API (1)By_id 定位 (2)by_name 定位 (3)by_class_name 定位 (4)by_tag_name 定位 (5) ...
- 『心善渊』Selenium3.0基础 — 19、使用Selenium操作文件的上传和下载
目录 1.Selenium实现文件上传 (1)页面中的文件上传说明 (2)文件上传示例 (3)总结 2.Selenium实现文件下载 (1)Firefox浏览器文件下载 1)操作步骤: 2)文件下载示 ...
- 『心善渊』Selenium3.0基础 — 20、Selenium对Cookie的操作
目录 1.Cookie介绍 2.Session介绍 3.Cookie工作原理图解 4.Cookie内容参数说明 5.Selenium操作Cookie的API 6.Selenium操作Cookie的示例 ...
- 『心善渊』Selenium3.0基础 — 6、Selenium中使用XPath定位元素
目录 1.Selenium中使用XPath查找元素 (1)XPath通过id,name,class属性定位 (2)XPath通过标签中的其他属性定位 (3)XPath层级定位 (4)XPath索引定位 ...
- 『心善渊』Selenium3.0基础 — 17、Selenium操作浏览器窗口的滚动条
目录 1.为什么操作滚动条 2.Selenium如何操作滚动条 3.Selenium操作滚动条方法 4.操作滚动条示例 5.下拉至聚焦元素的位置 (1)实现步骤: (2)实现示例: 1.为什么操作滚动 ...
随机推荐
- 『政善治』Postman工具 — 10、Postman中对Cookie的操作
目录 1.往常的Cookie处理方式 2.Postman中的Cookie管理机制 3.自定义Cookie管理内容 在接口测试中,某些接口的调用,需要带入已有Cookie,比如有些接口需要登陆后才能访问 ...
- Java_接口
接口 接口中的方法全都是抽象方法,用来指定一些规则,让子类去重写.接口的作用主要体现在一下两点 1.指定规则2.利用这些规则给类做功能扩展 接口的定义和使用 接口使用interface关键字来定义,使 ...
- [基本运算符、流程控制之if判断、与用户交互、深浅拷贝]
[基本运算符.流程控制之if判断.与用户交互] 基本运算符 1.算数运算符 python支持的算术运算符与数学上计算的符号使用是一致的 salary = 3.3 res = salary * 12 p ...
- mouseenter mouseleave鼠标悬浮离开事件
- jekyll-admin的搭建和使用
通过jekyll搭建好了自己的博客.写博客成为了日常,经过一段时间的摸索,发现jekyll-admin是个好东西,它是博客的后台管理系统,可以方便的管理和编写自己的博客 安装 运行命令gem inst ...
- Spring Boot读取自定义外部属性
测试的环境:Spring Boot2 + Maven +lombok 准备需要用到的基础类: public class People { private String name; private St ...
- 使用 Yarn workspace,TypeScript,esbuild,React 和 Express 构建 K8S 云原生应用(一)
本文将指导您使用 K8S ,Docker,Yarn workspace ,TypeScript,esbuild,Express 和 React 来设置构建一个基本的云原生 Web 应用程序. 在本教程 ...
- DNS和BIND
https://www.jianshu.com/p/296b2c7ea76f DNS和BIND 毛利卷卷发关注 0.482018.07.25 10:33:44字数 4,919阅读 4,909 DNS ...
- Docker Swarm(九)资源限制
资源限制 docker run 針對限制容器資源有許多設置選項,但Swarm中的 docker service 是另一回事,目前只有cpu和memory的選項可以操作. 如果 docker 找不到足夠 ...
- jmeter完成一个简单的性能测试(jp@gc - PerfMon Metrics Collector的运用)
场景:公司项目解耦,在项目前期对新的架构进行简单的性能测试 工具:jmeter 1.大致结构如下: 1800秒(半个小时)内持续产生20000的线程 创建了聚合报告,主要是查看服务器响应结果以及相应时 ...