Selenium 警告框处理
警告框分三种类型:
- alert:显示带有一条指定消息和一个 OK 按钮的警告框。
- confirm:显示一个带有指定消息和 OK 及取消按钮的对话框。
- prompt:显示可提示用户进行输入的对话框。
我们就来一一认识他们的形状
alert:
confirm:
prompt:
警告框操作
主要操作方法有:
- text:获取警告框中的文字信息
- accept():接受警告框,相当于点击"确认"
- dismiss():解散警告框,相当于点击“取消”或叉掉警告框
- send_keys():在警告框中输入文本
我们以百度搜索设置警告框为例:
代码:
# coding = utf-8
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.action_chains import ActionChains
from time import sleep
# 驱动文件路径
driverfile_path = r'D:\coship\Test_Framework\drivers\chromedriver.exe'
# 启动浏览器
driver = webdriver.Ie(executable_path=driverfile_path)
# 打开百度首页
driver.implicitly_wait(10)
driver.get(r'https://www.baidu.com/')
# 移动鼠标到设置上,再点击搜索设置
set = driver.find_element_by_link_text("设置")
ActionChains(driver).move_to_element(set).perform()
driver.find_element_by_link_text("搜索设置").click()
# 通过text定位
sel = driver.find_element_by_css_selector("select#nr")
Select(sel).select_by_visible_text("每页显示20条")
# 点击保存设置
driver.find_element_by_link_text("保存设置").click()
# 切换到警告框上
sleep(3)
ale = driver.switch_to_alert()
# 获取警告框文本信息
text = ale.text
print(text)
# 接受警告框
ale.accept()
# 叉掉警告框
# ale.dismiss()
# 退出
sleep(5)
driver.quit()
在这里注意下,切换到警告框,只能用switch_to_alert(),不能用switch_to.alert()
Selenium 警告框处理的更多相关文章
- selenium 警告框处理 (弹窗处理)
在web应用中常常会遇见很多用JavaScript编写的alert .confirm 以及prompt 弹窗,这是就需要driver.switchTo().alert()来选取(定位)警告弹窗.再对弹 ...
- Selenium切换窗口,警告框处理,调用JavaScript代码
多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作. WebDriver提供了switch_to.window()方法,可以实现在不同的窗口之间切 ...
- selenium - switch_to_alert() - 警告框处理
在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confirm/pro ...
- Python+selenium(警告框处理)
在Webdriver中处理JavaScript生成的alert.confirm.prompt,使用switch_to_alert()方法定位到alert.confirm.prompt,然后进行如下操作 ...
- Selenium 2自动化测试实战17(警告框处理)
一.警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,只需要使用switch_to_alert()方法定位到alert/confir ...
- selenium多表单操作与多窗口,以及警告框处理
知识是需要经常温习的,不然是很容易遗忘的. 以前自己操作IFRAME,多窗口的时候,觉得很简单.半年没有操作自动化了,知识又还了回去. 写博客有一个好处,可以把自己记住的知识点记录下来,这样,以后自己 ...
- selenium基础(警告框的处理)
selenium基础(警告框的处理) 在webdriver中处理JavaScript所产生的的警告框有三种类型 alert confirm prompt 划转到警告框的方法是:driver.switc ...
- Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)
如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...
- 【Selenium03篇】python+selenium实现Web自动化:元素三类等待,多窗口切换,警告框处理,下拉框选择
一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第三篇博 ...
随机推荐
- AES ------ 第三方库
tiny-AES-c-master.zip 这个库可用
- Spring Gateway从入门到精通
1.Spring Gateway过滤器详解 2.Spring Gateway之Predicate详解 3.spring cloud gateway自定义过滤器 4.Spring Cloud Gatew ...
- Android 开源项目及库汇总(2)
Android 开源项目及库汇总(2) ListenToCode 2.7 2018.10.10 15:43 字数 8527 阅读 1001评论 0喜欢 29 地图 百度地图– Android百度地图 ...
- mybatis中的动态代理应用(mapper对象)
-----------------UserMapper的配置信息--------------------- <?xml version="1.0" encoding=&quo ...
- git如何忽略特殊文件
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,比如保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋心里肯定 ...
- vue、iview动态菜单(可折叠)
vue项目与iview3实现可折叠动态菜单. 菜单实现一下效果: 动态获取项目路由生成动态三级菜单导航 可折叠展开 根据路由name默认打开子目录,选中当前项 自动过滤需要隐藏的路由(例:登陆) 在手 ...
- java 统计字符串中连续重复的字符,并得出新字符串
题目: 比如输入为aaabbc,输出a3b2c1 完整解答: public class Other { static String func(String str) { StringBuffer re ...
- tomcat中部署多个项目,webAppRootKey 参数配置
在一个tomcat中部署多个项目时,需要在每个项目的web.xml中配置webAppRootKey参数,如下: <context-param> <param-name>webA ...
- HBASE工作原理
如上图所示:首先我们需要知道 HBase 的集群是通过 Zookeeper 来进行机器之前的协调,也就是说 HBase Master 与 Region Server 之间的关系是依赖 Zookeepe ...
- IntelliJ IDEA设置项目和properties文件编码为UTF-8
https://blog.csdn.net/u012430402/article/de IntelliJ IDEA设置项目和properties文件编码为UTF-8 tails/79633245