selenium webdriver(python篇)(八)-----关于alert、confirm、prompt处理

上一篇 / 下一篇  2012-11-06 15:41:45 / 个人分类:webdriver

alert、confirm、prompt都为js对话框
一样通过例子来看是如何处理的:
这是一个百度alert的例子
#-*-coding=utf-8
from selenium import webdriver
import unittest

class login(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.baidu.com"
        self.verificationErrors = []
    
    def test_loginpass(self):
        driver = self.driver
        driver.get(self.base_url)
        driver.find_element_by_link_text("搜索设置").click()
        driver.find_element_by_xpath("//input[@value='保存设置']").click()
        driver.switch_to_alert().accept()
        
    def tearDown(self):
        #self.driver.quit()
        self.assertEqual([], self.verificationErrors)

if __name__ == "__main__":
    unittest.main()

同样在confirm、prompt都用switch_to_alert() 这个方法。

从以上代码可以看出dr.switchTo().alert();这句可以得到alert\confirm\prompt对话框的对象,然后运用其方法对它进行操作。对话框操作的主要方法有:

  • text() 得到它的文本值
  • accept() 相当于点击它的"确认"
  • dismiss() 相当于点击"取消"或者叉掉对话框
  • sendKeys() 输入值,这个alert\confirm没有对话框就不能用了,不然会报错。

TAG: Python python webdriver WebDriver JS弹出框

 

评分:0

我来说两句

Open Toolbar