selenium+python处理广告弹窗

Python016

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

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

# 示例

from tkMessageBox import *

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

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

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

1、首先,确保我们已经正确安装了python2.7的环境,然后,编辑一个.py文件。

2、然后,我们用python运行下该文件,可以看到,界面首先弹出了一个选择文件的对话框,符合我们预期。

3、然后,我们在里面选择一个文件,如图所示,这里我们选择了某Word文档。

4、然后,点击【确定】后,可以看到黑色的界面上,打印输出了一段文字:C:/Users/用户名/Desktop/JAVA设计模式总结之23种设计模式.docx,符合预期。

5、然后,又会弹出一个选择文件夹的对话框,这里选择【桌面】,点击【确定】按钮。

6、最后,界面上有输出了:C:/Users/用户名/Desktop,符合我们的预期。