IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> python-selenium常用浏览器操作方法 -> 正文阅读

[开发测试]python-selenium常用浏览器操作方法

1.窗口最大化:
driver.maximize_window() 要放置在浏览器驱动之后

2.设置浏览器位置:
driver.set_window_position(x,y) x,y表示横坐标和纵坐标,注意在自动化里面原点在屏幕的左上角

3.设置浏览器大小:
driver.set_window_size(w,h);w表示宽度,h表示高度,以像素为单位

4.浏览器前进操作:
driver.forward()

5.浏览器后退操作:
driver.back()

6.浏览器刷新:
driver.refresh()

7.获取当前页面标题:
driver.refresh()

8.获取当前页面地址:
driver.current_url

9.关闭当前页面:
driver.close()

10.关闭浏览器驱动:
driver.quit()

11.获取元素信息(作为断言的依据,作为参数传递)–重要
①.
获取元素大小——element.size
②.
获取元素文本信息——element.text
③.
获取元素的属性值信息——element.get_attribute(attr_name)
④.
判定元素是否可见——element.is_displayed()
⑤.
判定元素是否可用——element.is_enabled()
⑥.
判定元素是否选择——element.is_selected()

12.键盘操作
①.单键操作:
element.send_keys(keys.key)——keys.key表示指定键符
element.send_keys(“value”)

②.组合操作:
element.send_keys(keys.key,“a”)

13.鼠标操作

.导包——from selenium.webdriver import ActionChains
②.实例化鼠标对象——action = ActionChains(driver).调用鼠标方法——element:表示所要操作的对象,也就是之前所学的元素定位后返回来的结果
3-1.鼠标右键——action.context_click(element)自定义右键菜单才能执行元素定位操作,浏览器默认的右键操作selenium是不支持进行操作
3-2.鼠标双击——action.double_click(element)
3-3.鼠标拖拽——action.drag_and_drop(source,target)   【source表示需要拖到的元素对象,target表示目标位置的元素对象】
3-4.拖动单个元素——action.drag_and_drop_by_offset(element,x,y)	【element表示所有拖到的元素,x表示横向拖动的距离,尽力比实际多10px左右。y表示纵向推动的距离】
3-5.鼠标悬停——action.move_to_element(element)

④.执行鼠标操作——action.perform()

14.等待
①.显示等待:WebDriverWait

1.导包——WebDriverWait     (from selenium.webdriver.support.wait import WebDriverWait) 
2.设置等待方法——WebDriverWait(driver,timeout,poll_f)
3.调用until(直到...时)——until(method)
4.执行元素定位的匿名函数——lambda x:x.find_element_by_xxx(xxx)


driver:表示浏览器驱动对象
timeout:表示最大超时时长
poll_f:表示间隔时间,默认为0.5s;可以自行更改

显示等待只针对until内定义的元素定位生效
抛出异常:隐式等待为:NosuchElementException;显示等待为:TimeoutException
强制等待:time.sleep()
某些特殊的场景还是需要用到强制等待
(如碰到找不到元素的报错,但是又设置了智能等待,且确定了元素定位的代码也没有问题,这个时候就需要考虑是否有特殊场景需要强制等待)

15.下拉框选择:元素定位方法、select标签定位方法
①.只要是首次打开页面能加载到的元素都可以通过元素定位的方式进行定位和操作
②.如果需要先点击下拉框对象后,选项才加载出来,就必须先通过脚本执行点击,等待选项元素加载

1.实例化select对象,需要先导入select包
element:表示的是select标签的元素对象,不要搞成选项的元素对象
select =Select(element)
2.执行选择操作
(1)通过选项的索引进行选择,下标起始值为0和数组一样
select.select_by_index(index)2)通过选项的value属性值来选择目标选项
select.select_by_value(value)	#value表示option标签元素的value属性的属性值3)通过选项的文本信息来选择
select.select_by_visiable_text(text) #text表示option标签元素的文本信息

注意:
1.如果用select类的实现下拉框操作, 首先必须要保障你操作的下拉框是<select>标签
2.使用下标时,注意不要超过(可选项数量-1),否则会报错
3.通过select类去处理下拉框的话只需要定位一次select标签元素即可

16.弹出框处理
确认框:(confirm())
警告框:(alert())
信息提示框:(promp())

弹出框处理方法:
获取弹出框对象——alert=driver.swich_to.alert
指定弹出框处理方法
(1)接受弹出框,也就是点击确认按钮——alert.accept()
(2)取消弹出框——alert.dismiss()3)获取弹出框文本信息——aleat.text

17.frame切换

①.frame切换的方法,frame_element表示iframe标签的元素
driver.swich_to.frame(frame_element)
②.恢复默认页面方法:
driver.switch_to.default_content()

18.窗口切换:【重要重要重要】
handle:句柄,是页面的唯一标识码

步骤:
获取所有窗口的handle信息
handle=driver.window_handles
切换导指定窗口,下面表示的是切换到最新打开的窗口
driver.switch_to.window(handle[-1])



driver.find_element_by_id('XXX').click()	#点击某页面
driver.switch_to.window(driver.window_handles[-1])	#切换到最新的页面
time.sleep(2)
driver.close()	#关闭
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:29:14  更:2021-09-26 10:30:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/5 1:39:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码