selenium+python处理广告弹窗

Python010

selenium+python处理广告弹窗,第1张

在使用浏览器渲染技术爬取网站信息时,经常会遇到一些弹出框(广告,警告框,验证码,登录窗口等)的干扰。一般来说,当这些窗口弹出时,就无法操作原始页面

下面以1688网站为例,记录几种类型的处理方式。

一般来说,在处理广告弹窗时,遵守以下规则时,可以提高程序的稳定性。

将所有出现过的广告类型,集中到一个函数中,如上suspondWindowHandler,每种类型的弹窗都try检测一下。

对广告弹窗元素的获取,尽量收集他们的特征,采用模糊匹配的方式来寻找,如上dialog,overlay-box,close-icon,overlay-close。这样覆盖面可能更广。不过要小心的是,也有可能会误伤。

进入页面时,要首先确保页面已经加载成功了,再来检测广告弹窗是否存在,一定要遵守这个顺序。

关闭广告弹窗之后,一定要重新获取页面元素,防止切换带来的元素失焦。

页面的每次刷新或者数据加载,都可能会带来广告弹出。

参考文章: https://www.cnblogs.com/qiaoyeye/p/5593428.html

参考文章1: http://blog.csdn.net/zwq912318834/article/details/78605486

参考文章2: http://blog.csdn.net/zwq912318834/article/details/78616462

python解析器版本为3.7 ,如图,已经设置过了python解析器了

无论怎么百度都没有找打结果,抱着试试的心态,我一开始写的命名是中文,为的是清楚知道这个demo中写的是什么?然而把我坑了,后来把我的文件名改成 非中文 就可以了

# 使用tkMessageBox 模块内的函数来显示就可以

# 示例

from tkMessageBox import *

showinfo(title = 'Tip', message = 'Hello World')

askyesno(message = 'Are u sure?')  # 消息框上有yes 和no两个按钮

# 可以使用dir(tkMessageBox) 查看这个模块提供了哪些方法