在项目开发的时候,要处理弹框,现在将几种处理弹框的方式总结一下:
第一种:浏览器式弹框处理
这种主要使用于网页驱动浏览器的弹框
def deal_elert_window(self):
"""
# 处理elert 弹窗
如果账号密码输入错误的就不会出现elert弹窗
:return:
"""
try:
# 等待alert弹出框可见,这个可以当做判断条件
WebDriverWait(self.driver, 3, 0.5).until(EC.alert_is_present())
# 打印弹框内容
print(driver.switch_to.alert.text)
# 处理alert弹窗
self.driver.switch_to.alert.accept()
except TimeoutException:
print("Unexpected Alert")
第二种:网页式弹框处理
try:
# 判断 图片附加码输入错误 提示窗是否出现
WebDriverWait(self.driver, 3, 0.5).until(EC.presence_of_all_elements_located(
(By.CLASS_NAME, "ui-dialog-buttonset")))
# 处理弹框
self.driver.find_element_by_xpath("//div[@class='ui-dialog-buttonset']/button[@type='button']").click()
except TimeoutException:
print("账号密码输入正确")
try:
WebDriverWait(self.driver,2,0.5).until(EC.presence_of_all_elements_located((By.CLASS_NAME,"layui-layer-btn0")))
self.driver.find_element_by_class_name("layui-layer-btn0").click()
except TimeoutException:
print("升级弹框没有出现")