python+selenium下弹窗alter对象处理01
alt.accept() : 等同于单击“确认”或者“OK”
alt.dismiss() : 等同于单击“取消”或者“Cancel”
alt.send_keys() : 发送文本,针对有提交需求的prompt框
alt.text() : 获取alert文本的内容
alt.authenticate(username,password) : 验证,针对需要身份验证的alert
-------------------------------------------------------------------------------------------------------------------
浏览器的弹窗不属于html页面元素,而是属于windows的控件元素,所有使用
与处理多浏览器一样的方式,即使用类switch的方式来获取弹框
<html>
<head>
<script type="text/javascript">
function show_alert(){
alert('第一行\n第二行');
}
function show_confirm(){
var result = confirm('是否删除!');
if(result){
alert('删除成功!');
}else{
alert('不删除!');
}
}
function show_prompt(){
var value = prompt('输入你的名字:', '默认名字');
if(value == null){
alert('你取消了输入!');
}else if(value == ''){
alert('姓名输入为空,请重新输入!');
show_prompt();
}else{
alert('你好,'+value);
}
}
</script>
</head>
<body>
<input id="alert_button" type="button" value="alert" onclick="show_alert()" >
<input id="confirm_button" type="button" value="confirm" onclick="show_confirm()" >
<input id="prompt_button" type="button" value="prompt" onclick="show_prompt()" >
</body>
</html>
桌面创建此html文档:tanchuang.html
file:///C:/Users/del/Desktop/tanchuang.html
==============================================================
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
from time import sleep driver = webdriver.Firefox() # 指定和打开浏览器
driver.get('file:///C:/Users/del/Desktop/tanchuang.html') driver.find_element_by_id('alert_button').click() #单击触发弹框的元素
sleep(5) driver.switch_to.alert.accept()
sleep(5) driver.find_element_by_id('alert_button').click()
alt = Alert(driver)
sleep(3)
alt.accept()
sleep(5) driver.close() ========================================================================
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
from time import sleep driver = webdriver.Firefox() # 指定和打开浏览器
driver.get('file:///C:/Users/del/Desktop/tanchuang.html') driver.find_element_by_id('confirm_button').click() #单击触发弹框的元素 sleep(5)
driver.switch_to.alert.dismiss() #点击取消按钮 sleep(8)
driver.switch_to.alert.accept() #点击确定 sleep(8) driver.find_element_by_id('confirm_button').click() #单击触发弹框的元素 sleep(5)
driver.switch_to.alert.accept() #点击确定按钮
sleep(8)
driver.switch_to.alert.accept() #点击确定
sleep(8) driver.close()
===============================================================================
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
from time import sleep driver = webdriver.Firefox() # 指定和打开浏览器
driver.get('file:///C:/Users/del/Desktop/tanchuang.html') driver.find_element_by_id('prompt_button').click() #单击触发弹框的元素 sleep(5)
print(driver.switch_to.alert.text) #打印alter文本框里面的文字 driver.switch_to.alert.send_keys('沈巍伟') sleep(5)
driver.switch_to.alert.accept() #点击确定 sleep(5)
driver.switch_to.alert.accept() #点击确定 sleep(5) driver.close()
python+selenium下弹窗alter对象处理01的更多相关文章
- python+selenium下弹窗alter对象处理02
首先使用switch_to.alert()方法进行定位,然后可以使用下面的操作 text:返回alert.confirm.prompt中的文字信息: accept():接受现有警告框: dismiss ...
- python selenium下拉框定位
一.前言 总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询: 二.直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPa ...
- Python+Selenium学习--定位一组对象
场景 从上一节的例子中可以看出,webdriver可以很方便的使用find_element方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用find_elements方法. ...
- Python+selenium下拉菜单选项
案例:在我要自学网登录页面选择要保留的时间 具体页面如图所示: 使用前端工具查看部分页面代码: <select class="loinp" name="Cookie ...
- python selenium 多个页面对象类使用同一个webdriver(即只打开一个浏览器窗口)
1 class BasePage(): 2 """selenium基类""" 3 4 def __init__(self, driver=N ...
- python selenium 下拉框
下拉框的处理如下代码: 定位select有很多种方式,这里介绍两种定位方式 1.二次定位 先定位到下拉框:self.dr.find_element_by_css_selector('#business ...
- python+selenium元素定位之XPath学习01
参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tu ...
- python+selenium元素定位之CSS学习01
参考文档:https://www.w3school.com.cn/cssref/css_selectors.asp 选择器 例子 例子描述 CSS .class .intro 选择 class=&qu ...
- Python+selenium之弹窗
随机推荐
- 「LCT」
终于在多篇题解和我的个人超常发挥下抄完了lct的所有题,kx死了. 理解 在我看来,实际上lct的板子没有什么考的,更重要的可能是起到一个数据结构的维护作用实际上就是出题人想给你找点乐子. 前几道题都 ...
- python修炼之路——控制语句
Python编程之print python2.x和python3.x的print函数区别:python3.x的print函数需要加括号(),python2.x可以不加. #-*- coding:utf ...
- vue history模式下的微信分享
// 微信验证 export function requireConfig() { let url = window.location.href systemApi.wxoption({ url: u ...
- vmware哪个版本好用
这个问题要根据你的物理机操作系统而定,如果你电脑是xp,就选择vmw7.1.6:如果你电脑是win7,win8,win8.1,就选择vmw10.0.1.不要去理会vmw8.vmw9这些都是vmw10的 ...
- sh_01_九九乘法表
sh_01_九九乘法表 def multiple_table(): # 1. 打印 9 行小星星 row = 1 while row <= 9: col = 1 while col <= ...
- es索引基本操作(1)
1:创建索引 创建索引的时候可以通过number_of_shards和number_of_replicas来指定当前索引的分片和副本数量: PUT demo_index1 { " ...
- 大哥带的Orchel数据库的报错注入
0X01 使用报错注入需要使用类似 1=[报错语句],1>[报错语句],使用比较运算符,这样的方式进行报错注入(MYSQL仅使用函数报错即可),类似mssql报错注入的方式. news.jsp? ...
- 函数式接口和Lambda表达式
函数式接口(一般标有@FunctionalInterface)就是只定义一个抽象方法的接口. 一个接口,如果满足函数式接口的定义,那么即使不标注为 @FunctionalInterface, 编译器依 ...
- antd form表单一行多个组件并对其校验
一行一个标签对应多个输入组件,这个需求很常见但在官方例子没看到合适的,因为官方建议: 注意:一个 Form.Item 建议只放一个被 getFieldDecorator 装饰过的 child,当有多个 ...
- chrome 调试
https://developers.google.com/web/tools/chrome-devtools/javascript/step-code step over next function ...