千纸鹤

  博客园  ::  :: 新随笔  ::  ::  :: 管理
  5 随笔 :: 70 文章 :: 0 评论 :: 9301 阅读
《一》三种等待方式
1.强制等待:强制等待,设置固定休眠时间
2.隐式等待(Inlicitlywait):
(1)全局等待,只需要设置一次;
(2)在指定的时间范围内不断的去查找元素,直到成功的获取找到该元素,然后执行后面的操作
(3)在指定的时间范围内仍未获取该元素,则抛出异常:默认抛出异常为:NoSuchElementException
(4)特点:基于等到整个页面加载完成之后才生效
3.显示等待(WebDriverWait):
(1)可针对单个元素来进行等待,效率较高。也是在指定的时间范围内,每隔一段时间检测该元素是否存在,找到后马上执行下一步
(2)在指定的时间范围内仍未获取该元素,则抛出异常::默认抛出异常为:TimeoutException
(3)显示等待两种函数:显式等待分为until和until_not两种函数来实现等待,作用是完全相反

《二》selenium如何保证操作元素的成功率
1.针对一些元素需要添加等待时间、设置页面最大化、设置悬停和滚动条,尽量让页面元素显示出来
2.开发人员规范开发习惯,给页面元素加上唯一的name、id

《三》selenium基本操作有哪些?
1.八大元素定位 2.三大等待方式 3.用户的点击操作 4.用户的输入操作 5.鼠标的事件操作

《四》selenium元素定位方式有哪些?
(1)八种元素定位方式:
1.id 2.name 3.class name 4.tag name
5.link text 6.partial link text 7.xpath 8.css
(2)最经常使用的元素:xpath

《五》怎么提高selenium脚本的自动化执行效率?
1.尽量不使用sleep和减少使用隐式等待
2.选择性能比较好的电脑

《六》开展自动化前提的条件
1.软件需求变动不频繁; 2.项目周期足够长; 3.UI变动小

《七》selenium中用到了哪些jar包?
standalone

《八》selenium中查找元素一般使用哪些方法?
经常使用的就是根据ID,Name、xpath,className定位元素

《九》xpath和css选择器有什么区别?
我常用的是xpath,css解析效率查询效率高,xpath的函数更多,灵活性更强,功能比较强大,像一些复杂的元素定位,xpath的表达式会更简洁。元素文本定位的话,css是不支持的

《十》常见的操作元素行为
(1)导入webdriver包:from selenium import webdriver
(2)启动浏览器:driver = webdriver.Chrome()
(3)浏览器窗体的最大化:driver.maximize_window()
(4)浏览器窗体的最小化:driver.minimize_window()
(5)设置窗体大小尺寸:driver.set_window_size(1000, 200)
(6)访问指定url和文件:访问url:driver.get('http://www.baidu.com') 访问文件:driver.get(r'D:\测码\头像\index.html')
(7)浏览器的特性:
浏览器前进:driver.forward()
浏览器后退:driver.back()
浏览器刷新:driver.refresh()
(8)获取title:print(driver.title)
(9)获取当前所有句柄:handles = driver.window_handles print(handles)
(10)切换到新的句柄页:driver.switch_to.window(handles[1]) print(driver.title)
(11)切换到iframe:driver.switch_to.frame(driver.find_element('id', 'ptlogin_iframe'))
(12)从iframe切换到默认内容:driver.switch_to.default_content()
(13)切换回原有句柄:driver.switch_to.window(handles[0])
posted on   隆江猪脚饭  阅读(43)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示