selenium处理页面常见问题(二):alert弹出框

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章