alert弹出框涉及到的标签种类有<alert><confirm><prompt>,常用方法accept(),dismiss(),prompt则要sendkeys(),切换到alert窗口则用alert = driver.switch_to.alert,获取alert窗口的文字用alert窗口对象.text
暂时没想到有alert弹出框的网站,一个简单的小例子
<html>
<head>
<title>Alert</title>
</head>
<body>
<input id = "alert" value = "alert" type = "button" onclick = "alert('欢迎!请按确认继续!');"/>
<input id = "confirm" value = "confirm" type = "button" onclick = "confirm('确定吗?');"/>
<input id = "prompt" value = "prompt" type = "button" onclick = "var name = prompt('请输入你的名字:','请输入 你的名字'); document.write(name) "/>
</body>
</html>
from selenium import webdriver
from time import sleep
class Test_Alert:
def setup(self):
self.driver = webdriver.Chrome(r"D:\Program Files\chromedriver.exe")
def test_alert1(self):
driver = self.driver
driver.get(r"C:\Users\Lulu\Desktop\alerttest.html")
driver.maximize_window()
# 1.accept()
driver.find_element_by_id("alert").click()
#切换到alert界面,accept相当于点击确认
print(driver.switch_to.alert.text)
driver.switch_to.alert.accept()
sleep(3)
# 2.dismiss()
driver.find_element_by_id("confirm").click()
driver.switch_to.alert.dismiss()
driver.find_element_by_id("confirm").click()
driver.switch_to.alert.accept()
sleep(2)
# 3. prompt
driver.find_element_by_id("prompt").click()
prompt = driver.switch_to.alert
print("弹出框内容为:", prompt.text)
prompt.send_keys("赵钱sun'li'zhou'wu'zheng'wang")
prompt.accept()
sleep(3)
def teardown(self):
self.driver.quit()