1. 背景
在使用浏览器渲染技术爬取网站信息时,经常会遇到一些弹出框(广告,警告框,验证码,登录窗口等)的干扰。一般来说,当这些窗口弹出时,就无法操作原始页面。
不同的弹出框有不同的处理方案:
广告:直接关闭
警告框:点击确定或者取消
验证码:输入验证码,进行验证
登录窗口:进行登录。
下面以1688网站为例,记录几种类型的处理方式。
2. 环境
python 3.6.1
系统:win7
IDE:pycharm
安装过chrome浏览器
配置好chromedriver
selenium 3.7.0
3. 广告弹窗的处理
image.png
image.png
代码
# 广告页面弹窗处理
def suspondWindowHandler(browser):
# 第一种广告弹窗
try:
suspondWindow = browser.find_element_by_xpath("//div[contains(@class, 'identity-dialog')]//*[contains(@class, 'close-icon')]")
suspondWindow.click()
print(f"searchKey: Suspond Page1 had been closed.")
except Exception as e:
pr