弹窗操作

摘要:
一.弹窗的三种类型HTML代码如下:˂!";}else{document.getElementById.innerHTML="您为何如此谦虚?";}else{document.getElementById.innerHTML="您没有按要求输入,请重新输入";}}functionshowAlert2(){document.getElementById.innerHTML="";alert("卡布奇诺的悲伤!!!!");}1.警告框警告框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是用户必须先要关闭对话,才能进行其他操作。

一.弹窗的三种类型

HTML代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title></title>
    </head>
    <body>
        <div align="center">
        <h4>hello world</h4>
        <input type="button" onclick="showPro()" value="输入框弹窗按钮"/>
        <input type="button" onclick="showAlert2()" value="提示弹窗按钮"/>
        <input type="button" onclick="showAlert()" value="确认弹窗按钮"/><br><br><br>
        <span id="textSpan"></span>
        
        </div>
    </body>
    <script>function showAlert(){            
            document.getElementById("textSpan").innerHTML="";
            if(confirm("你是初心吗?")){
                document.getElementById("textSpan").innerHTML="<font style='color: red;'>您为何如此自信?</font>";
            }else{
                document.getElementById("textSpan").innerHTML="<font style='color: red;'>您为何如此谦虚?</font>";
            }
            
        }
        function showPro(){
            document.getElementById("textSpan").innerHTML="";
            con = prompt("输入a为初心,输入b为小初心");
            if(con=='a'){
                document.getElementById("textSpan").innerHTML="<font style='color: green;'>初心好笨啊!!!</font>";
            }else if(con=='b'){
                document.getElementById("textSpan").innerHTML="<font style='color: green;'>小初心好聪明!!!!</font>";
            }else{
                document.getElementById("textSpan").innerHTML="<font style='color: red;'>您没有按要求输入,请重新输入</font>";
            }
        }
        function showAlert2(){
            document.getElementById("textSpan").innerHTML="";
            alert("卡布奇诺的悲伤!!!!");
        }
    </script>
</html>

1.警告框(alter)

警告框提供了一个“确定”按钮让用户关闭该消息框,并且该消息框是模式对话框,也就是用户必须先要关闭对话,才能进行其他操作。

弹窗操作第1张

代码如下:

from selenium importwebdriver
from selenium.webdriver.support importexpected_conditions as EC
from selenium.webdriver.support.wait importWebDriverWait
from selenium.webdriver.common.by importBy
importtime
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(r'C:UserssanythDesktopaa.html')
driver.find_element_by_xpath("//input [contains(@value,'提示')]").click()
#等待弹窗的出现
WebDriverWait(driver,20,1).until(EC.alert_is_present())
alter=driver.switch_to.alert
#强制等待2秒
time.sleep(2)
#打印弹窗内的文字
print(alter.text)
#点击确定按钮
alter.accept()

2.确认消息框(confirm)

确认消息框向用户提示一个“是”或“否”的问题,用户可以选择“确定”按钮或者“取消”按钮

弹窗操作第2张

代码如下:

from selenium importwebdriver
from selenium.webdriver.support importexpected_conditions as EC
from selenium.webdriver.support.wait importWebDriverWait
from selenium.webdriver.common.by importBy
importtime
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(r'C:/Users/M/Desktop/Money/aaa.html')
driver.find_element_by_xpath("//input [contains(@value,'确认')]").click()
#等待弹窗的出现
alter=driver.switch_to.alert
#强制等待2秒
time.sleep(2)
#打印弹窗内的文字
print(alter.text)
#点击确定按钮
alter.accept()
'''driver.find_element_by_xpath("//input [contains(@value,'确认')]").click()
#等待弹窗的出现
WebDriverWait(driver,20,1).until(EC.alert_is_present())
alter=driver.switch_to.alert
#强制等待2秒
time.sleep(2)
#打印弹窗内的文字
print(alter.text)
#点击取消按钮
alter.dismiss()
'''

3.提示对话框

提示对话框提供一个文本字段,用户可以再次输入一个答案来响应您的提示,该消息框会有一个“确定”按钮和一个“取消”按钮。选择“确认”按钮会响应提示信息,选择”取消“按钮会关闭对话框。

弹窗操作第3张

代码如下:

from selenium importwebdriver
from selenium.webdriver.support importexpected_conditions as EC
from selenium.webdriver.support.wait importWebDriverWait
from selenium.webdriver.common.by importBy
importtime
driver=webdriver.Chrome()
driver.maximize_window()
driver.get(r'C:/Users/M/Desktop/Money/aaa.html')
driver.find_element_by_xpath("//input [contains(@value,'输入')]").click()
#等待弹窗的出现
alter=driver.switch_to.alert
#强制等待2秒
alter.send_keys('1')
time.sleep(2)
#点击确定按钮
alter.accept()
#获取弹窗关闭后的结果
time.sleep(2)
print (driver.find_element_by_xpath('//*[@id="textSpan"]/font').text)

二.另外一种是类似于弹窗的业务操作其实是前端框架的一种模态框,以前端bootstrap框架为例子。

业务首先点击添加按钮然后会出现相应操作的模态框。对于模态框的操作就是按照正常元素定位操作,若模态框内有iframe则需要先切入iframe然后在进行元素操作。

弹窗操作第4张

模态框

弹窗操作第5张

from selenium importwebdriver
from selenium.webdriver.support.select importSelect
from  selenium.webdriver.support.wait importWebDriverWait
from selenium.webdriver.support importexpected_conditions as EC
from selenium.webdriver.common.by importBy
from  selenium.webdriver.common.action_chains importActionChains
from  selenium importwebdriver
importtime
driver=webdriver.Chrome()
driver.maximize_window()
driver.get("xxxxxxxxxxxxxxxxx")
username=driver.find_element_by_id("txtUserName")
username.send_keys("xxxxx")
password=driver.find_element_by_id("txtPassword")
password.send_keys("xxxxxxx")
password.clear()
password.send_keys("xxxxxxx")
login=driver.find_element_by_id("mlbActive")
login.click()
#查询学籍页面
driver.get("http://192.168.1.176:8022/Navigation/main.aspx")
#展开菜单
driver.find_element_by_xpath("//span[@class='logo-mini']//img").click()
#找到一级菜单
driver.find_element_by_css_selector("ul.sidebar-menu li:nth-child(17)").click()
#点击一级菜单菜单的xxx三级菜单
driver.find_element_by_css_selector(".listwrap>div:nth-child(2)>span:nth-child(8)>ul li:nth-child(6) a").click()
#点击添加按钮

#iframe=driver.find_element_by_xpath("//iframe[@name='iframeundefined']")#driver.switch_to.frame(iframe)#time.sleep(5)
WebDriverWait(driver,20,1).until(EC.frame_to_be_available_and_switch_to_it((By.NAME,"iframeundefined")))
time.sleep(2)
#验证元素是否可见
WebDriverWait(driver,20,1).until(EC.invisibility_of_element_located((By.XPATH,"//button[@id='btn_Add")))
driver.find_element_by_xpath("//button[@id='btn_Add']").click()
#WebDriverWait(driver,20,1).until(EC.alert_is_present())#add=driver.switch_to.alert()#bootstrap框架模态框
driver.find_element_by_id("Code").send_keys("010001")
driver.find_element_by_id("Name").send_keys("xxxxxxx")
driver.find_element_by_id("ShortName").send_keys("xxxxxxx")
status=Select(driver.find_element_by_id("Status"))
status.select_by_index(0)

免责声明:文章转载自《弹窗操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇linux上文件内容去重的问题uniq/awk行者APP适配国外环境问题解决下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Selenium Webdirver API(1)

Selenium Webdirver API 前提:引入webdriver包 from selenium import webdriver 1、创建浏览器对象driver = webdriver.Ie(executable_path="D:\IEDriverServer")#不同浏览器只需更改浏览器名称即可,如:webdriver.Chrome() web...

webDriver运行过程中遇到的问题

1.org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.  【原因】:     selenium的版本和firefox的版本不兼容  【解决方法】:        更新seleni...

selenium select下拉选择框定位处理的两种方式

一、前言      总结一下python+selenium select下拉选择框定位处理的两种方式,以备后续使用时查询; 二、直接定位(XPath) 使用Firebug找到需要定位到的元素,直接右键复制XPath,使用find_element_by_xpath定位; driver = webdriver.Firefox() driver.get("htt...

【Web自动化测试——代码篇一】简单的Web自动化脚本

前言 本人新手,说不定会出现各种差错,希望各位能指出来(请勿转载) 在代码篇里就不多介绍测试环境的搭建以及测试工具的安装了 同一个功能的自动化脚本将通过Java、Python以及Ruby来编写,所以更新速度有可能会比较慢~~~///(^ v ^ )~~~,当然我也会写上编程时遇到的问题的 ==如何编写一个简单的网页自动化脚本 相信大家都知道一句话 “ 有...

第七部分(一) 动态渲染页面爬取(Selenium的使用)

Ajax分析和抓取方式,是JavaScript动态渲染页面的一种情形,可使用 requests 或 urllib 爬取数据。JavaScript动态渲染的页面不是只有Ajax一种,比如中国青年网 http://news.youth.cn/gn/ 的分页部分由JavaScript生成的,不是原始的HTML代码,但是不包含Ajax请求。又比如ECharts的...

python+selenium一:对浏览器的操作

# 1.打开Firefox浏览器from selenium import webdriverdriver = webdriver.Firefox()driver.get("https://www.baidu.com") # 2.打开Ie或Chrome浏览器-->先将驱动文件放到python根目录 from selenium import web...