| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> Selenium API高级 -> 正文阅读 |
|
[开发测试]Selenium API高级 |
弹出框操作 ????????1) 进入到弹出框中 ????????????????driver.switch_to.alert ????????2) 接收警告 ????????????????accept() ????????3) 解散警告 ????????????????dismiss() ????????4) 发送文本到警告框 ????????????????send_keys(data) 鼠标和键盘操作 ???????手动测试时键盘的操作在selenium页有实现,关于鼠标的操作由ActionChains()类来提供,关于键盘的操作由Key()类来提供 ????????1)鼠标操作 ????????????????导入动作链类,动作链可以储存鼠标的动作 ????????????????????????from selenium.webdriver import ActionChains?? ? ????????????????获取元素? ????????????????????????el = driver.find_element_by_xxx(value) ????????????????????????context_click(el) ? ? ? 对el执行右击 ????????????????????????执行ActionChains中储存的所有动作 ????????????????????????perform() 例如:ActionChains(driver).context_click(ele).perform() ? ? 点击鼠标右键 ActionChains(driver). double_click(ele).perform()?? ?点击鼠标左键? ?ActionChains(driver).move_to_element(el).perform() 鼠标悬停?键盘操作 ????????键盘操作使用的是Keys类,一般配合send_keys使用 ? ? ? ? 导入: ????????????????from selenium.webdriver.common.keys import Keys ????????常用键盘操作 ????????????????send_keys(Keys.BACK_SPACE) ?? ?删除键(BackSpace) ????????????????send_keys(Keys.SPACE) ?? ??? ?空格键(Space) ????????????????send_keys(Keys.TAB) ?? ??? ??? ?制表键(Tab) ????????????????send_keys(Keys.ESCAPE) ?? ??? ?回退键(Esc) ????????????????send_keys(Keys.ENTER) ?? ??? ?回车键(Enter) ????????????????send_keys(Keys.CONTROL,‘a’) ?? ?全选(Ctrl+A) ????????????????send_keys(Keys.CONTROL,‘x’) ?? ?剪切(Ctrl+X) ????????????????send_keys(Keys.CONTROL,‘v’) ?? ?粘贴(Ctrl+V) ????????????????send_keys(Keys.F1) ?? ??? ??? ?键盘 F1 ????????????????send_keys(Keys.F12) ?? ??? ??? ?键盘 F12 ? ?浏览器等待 ????????强制等待 ????????导入定时等待库 ????????????????from time import sleep 或者 import time time.sleep(10) # 表示强行等待10s在执行下一句代码 这种等待方式时间到了就会执行下个语句,但比较死板,不能保证在等待的时间内元素真正被加载了出来。而且如果等待的元素已经被加载出来,还需要等待到时间才会执行下一句,浪费时间。 ????????隐式等待 ????????driver.implicitly_wait(30) #等待30s 这个等待表示在规定的时间内页面的所有元素都加载完了就执行下一步,否则一直等到时间截止,然后再继续下一步。 这个方法的缺点是你需要的元素已经加载出来了,但页面还没有加载完,再需要继续等待页面加载完才能执行下一步操作。 显式等待 需要导入的包 from selenium.webdriver.support.wait import WebDriverWait 导入显性等待的包 from selenium.webdriver.support import expected_conditions as EC 判断所需要的元素是否已经被加载出来 from selenium.webdriver.common.by import By 定位 WebDriverWait类是由WebDirver 提供的等待方法。显示等待明确的要等到某个元素的出现,在设置时间内每隔x秒去判断一下指定的元素是否加载完,加载完了就执行下一步,否则继续每隔x秒去判断,指定时间截止。如果超时就会抛出异常。 强制等待:傻瓜式等待,不智能 隐式等待:全局通用,只需设置一次,很智能(等到了就走,不会浪费时间) 显式等待:等待元素处于特定条件的时候使用,很智能(等到了就走,不会浪费时间) ?? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/18 2:32:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |