| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 提升之路--从0开始学web自动化(4)--selenium二次封装和切换 -> 正文阅读 |
|
[系统运维]提升之路--从0开始学web自动化(4)--selenium二次封装和切换 |
css介绍Webside = html+css+javascript Xpath VS css -css整体上比xpath 表达更简洁 -css查找速度比xpath更快 -xpath功能比css强,可以从内往外查找 -css不支持通过文本查找元素 css 选择器 css 选择器 基本语法 id属性: 标签#属性值 Xpath: //input[@id = “kw”] Css : input#kw Class属性: 标签.属性名 Xpath: //input[@class=”s_ipt”] Css: input.s_ipt 属性: -xpath: //input[@name=”wd”] -css: input[name=wd] selenium二次封装封装成类 driver:Chrom表示该参数类型是Chrom,之后使用该参数能自动显示浏览器所有的方法 初始化函数,传入浏览器对象,要赋值给类里的属性,以便之后的函数都能使用 封装get方法 访问url地址
表示如果传入的url能找到http:// 就直接访问url,否则就要加上host 回顾:通过find函数查找字符串,如果能找到,返回索引,如果不能找到,返回-1 封装send方法 输入框操作,参数为xpath方法和表达式组成的列表或者元组(By.XPATH,”表达式”),作为设置显性等待的条件时所需要查找的元素, 输入的内容
注意:如果send方法里没有使用显性等待,那么locator仍然要传入一个元组(By.XPATH,”表达式”),然后查找元素时候用*拆分,表示位置不定长参数
封装click方法 点击操作,参数为xpath方法和表达式组成的列表或者元组(By.XPATH,”表达式”)作为设置显性等待的条件时所需要查找的元素
封装好之后,代码会变得简洁 切换窗口切换 Browser.swich_to.window() 参数传入窗口名称(字符串),可以先获取所有窗口(列表),然后通过索引找到对应窗口的名称 详情:https://blog.csdn.net/conlin233/article/details/121422594#t1 iframe切换 如果元素标签有<iframe>,相当于一个子页面,不能在该页面上定位子页面的元素,需要切换到子页面 iframe里的元素不能直接查找,需要切换iframe子页面 1,使用brower.switch_to.frame()方法,参数传入有以下的方式 -通过iframe的name属性 -通过索引,通常不用 -通过查找iframe元素,通常使用
切换之后再进行iframe子网页里的元素查找和操作
极端场景: 切换回主页面
如果iframe里面又嵌套一个iframe,需要一层一层切换进去 先找到第一层iframe的元素,切换去第一层iframe 在第一层iframe中找到第二层iframe的元素,切换去第二层iframe 如果要从第二层iframe退回到第一层iframe
alert切换 通过原生alert,prompt调用出来的才能使用该切换方法,弹框一般在url附近,并且弹框出现后,其他元素会定位不了 ? ?点击hello之后,会弹出弹框,此弹框是alert 此时不能定位任何元素,首先要切换到alert当中,然后点击确定
注意:使用switch_to.alert不是一个方法,而是一个属性, 没有括号,后面加上accept()方法表示点击确定,dismiss()方法表示取消
实现弹框的方式1,alert,prompt原生js弹框 2,通过框架,实现ui效果 而现在网页上的弹窗,有些是通过各种标签组合而成,是一个普通的元素 ? ?弹框里面的元素能被定位到 此弹框类似于alert 只是前端工程师在此弹框后面加上一个灰色的背景,覆盖了主页面 ?实际上背景后面的元素也能被定位,但是在页面上不能被点击,所以不需要切换 ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/16 2:46:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |