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()


原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12040914.html