Python爬虫处理网页弹框的几种方式,你一定需要!

在项目开发的时候,要处理弹框,现在将几种处理弹框的方式总结一下:

第一种:浏览器式弹框处理

这种主要使用于网页驱动浏览器的弹框

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("账号密码输入正确")

Python爬虫处理网页弹框的几种方式,你一定需要!_第1张图片

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("升级弹框没有出现")

你可能感兴趣的:(爬虫)