selenium弹出框的处理

1.页面弹出框的处理

def webdriverwait_baidu_alert(self):
        '''
         页面弹出框获取:
           1.获取登录元素定位
           2.显性等待
           3.直到登录弹出框出现
        '''
        self.driver.find_element_by_xpath('//div[@id="u1"]//a[@name="tj_login"]').click()
        #进行显性等待,使得操作的元素可见
        ele_locator = "TANGRAM__PSP_10__footerULoginBtn"
        param = (By.ID,ele_locator)
        WebDriverWait(self.driver,10).until(EC.visibility_of_element_located(param))
        #再去操作元素
        self.driver.find_element_by_id(ele_locator).click()
        #此时页面又发生变化,还需要等待,使得操作的元素可见
        ele_locator1 = "TANGRAM__PSP_10__userName"
        param1 = (By.ID,ele_locator1)
        WebDriverWait(self.driver,10).until(EC.visibility_of_element_located(param1))
        #再去获取元素并进行输入
        self.driver.find_element_by_id(ele_locator1).send_keys("1234567")
        self.driver.find_element_by_id("TANGRAM__PSP_10__password").send_keys("111111")
        time.sleep(10)

2.alert弹出框的处理

def webdriverwait_windows_alert(self):
        '''
         windows弹出框:
            1.获取页面元素,用显性等待等到alert弹框出现
            2.切换到windows弹出框alert
            3.操作alert弹框选择yes或者no
        '''
        self.driver.find_element_by_xpath('//input[@value="提交"]').click()
        WebDriverWait(self.driver,10).until(EC.alert_is_present())
        #从html页面切换到alert页面
        alert_1 = self.driver.switch_to.alert
        #获取alert的文本内容
        print(alert_1.text)
        time.sleep(4)
        #接收选择ok
        alert_1.accept()

 

posted @ 2018-07-07 10:45  后来的后来  阅读(3228)  评论(0编辑  收藏  举报