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之弹窗
随机推荐
- tomcat CATALINA_HOME与CATALINA_BASE的区别
区别 https://blog.csdn.net/cfydaniel/article/details/41351927 Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量) ht ...
- Flume 实时获取日志内容插入MySQL
https://www.jianshu.com/p/22e6133649ca 采用链接的方法试了一下,好像不成功,问题出在 channel.take(); //获取出来的Event为空,不知道为啥
- 由于代码环境有dev test prod ,每次提交代码需要很多环境,shell脚本即可解决重复命令问题
在项目外面写入push.sh 内容为 if [ $1!='' ] then msg=$1; else msg='bug'; fi git add . git commit -m $ ...
- 【GDKOI2013选拔】大LCP
题目 LCP就是传说中的最长公共前缀,至于为什么要加上一个大字,那是因为-你会知道的. 首先,求LCP就要有字符串.既然那么需要它们,那就给出n个字符串好了. 于是你需要回答询问大LCP,询问给出一个 ...
- 【leetcode】1218. Longest Arithmetic Subsequence of Given Difference
题目如下: Given an integer array arr and an integer difference, return the length of the longest subsequ ...
- 【mysql】利用全文索引实现中文的快速查找
现在我们数据库表中的记录大约在17万,每一条记录都有name字段,根据name做模糊匹配,效率非常低下. 表结构如下: create table T ( id int, name ) ); 总数据量如 ...
- Quantitative Strategies for Achieving Alpha (三)
chapter 4: Profitability Profitability measures we tested include return on invested capital, return ...
- 解决JavaServer Faces 2.2 requires Dynamic Web Module 2.5 or newer问题
** 错误1: **在eclipse中新创建一个web项目的时候项目下的JSP文件中会爆出错误:The superclass “javax.servlet.http.HttpServlet” was ...
- aspose 模板输出
Dictionary<string, string> dictionnaryBig = new Dictionary<string, string>(); dictionnar ...
- 中南林业大学校赛 I 背包问题 ( 折半枚举 || 01背包递归写法 )
题目链接 题意 : 中文题 分析 : 价值和重量都太过于大,所以采用折半枚举的方法,详细可以看挑战的超大背包问题 由于 n <= 30 那么可以不必直接记录状态来优化,面对每个用例 直接采用递 ...