python网络爬虫:Selenium

Python08

python网络爬虫:Selenium,第1张

获取页面每个Cookies值,用法如下

driver.add_cookie(cookie_dict)

一个浏览器肯定会有很多窗口,所以我们肯定要有方法来实现窗口的切换。切换窗口的方法如下:

imgs = driver.find_elements_by_xpath("//img")

for img in imgs:

driver.execute_script('$(arguments[0]).fadeOut()',img)

driver.execute_script('window.scrollTo(0,document.body.scrollHeight)')

driver.execute_script('alert("This is a alert")')

driver.quit()

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