第五篇 - Selenium突破反爬获取qq邮件标题
from selenium import webdriver
from selenium.webdriver import ActionChains #1.打开登陆页面
wd = webdriver.Chrome()
wd.implicitly_wait(10)
wd.get('https://mail.qq.com/') #2.切换到账号密码登陆
login_frame = wd.find_element_by_id('login_frame')
wd.switch_to.frame(login_frame)
wd.find_element_by_id('switcher_plogin').click() #3.输入账号密码
u = wd.find_element_by_id('u')
u.send_keys('')#---------------此处填QQ号
p = wd.find_element_by_id('p')
p.send_keys('')#----------------此处填QQ邮箱密码 #4.点击登陆按钮
wd.find_element_by_id('login_button').click() #5.点击收信
wd.find_element_by_id('folder_1').click()
#6.切换到收信iframe框架里
main_frame = wd.find_element_by_id('mainFrame')
wd.switch_to.frame(main_frame) #获取第一个tab页
h = wd.current_window_handle #通过css选择器,找到我们邮件列表里面的内容
email_eles = wd.find_elements_by_css_selector('.toarea .F, .toarea .M')
email_eles_count = len(email_eles)
#遍历每一封邮件
for i in range(email_eles_count):
#获取邮件列表的邮件项
email_ele = wd.find_elements_by_css_selector('.toarea .F, .toarea .M')[i]
#右击邮件项
ActionChains(wd).context_click(email_ele).perform()
#然后选择在新窗口打开
wd.find_elements_by_css_selector('.menu_item')[1].click()
#切换到邮件详情页tab
email_detail_handle = wd.window_handles[2]#----------此处的数字个人可能不同,1或者2,可自行调试
wd.switch_to.window(email_detail_handle)
#切换到内容部分
main_frame = wd.find_element_by_id('mainFrame')
wd.switch_to.frame(main_frame)
#获取邮件的标题
subject = wd.find_element_by_id('subject').text
#获取邮件的内容
# content = wd.find_element_by_id('mainContentContainer').text
print(subject)
#关闭tab页
wd.close()
#回到第一个tab页,即邮件列表tab
wd.switch_to.window(h)
#又切换到列表部分
main_frame = wd.find_element_by_id('mainFrame')
wd.switch_to.frame(main_frame) wd.quit()
第五篇 - Selenium突破反爬获取qq邮件标题的更多相关文章
- 【Python3爬虫】突破反爬之应对前端反调试手段
一.前言 在我们爬取某些网站的时候,会想要打开 DevTools 查看元素或者抓包分析,但按下 F12 的时候,却出现了下面这一幕: 此时网页暂停加载,自动跳转到 Source 页面并打开了一个 ...
- Scrapy爬取美女图片第四集 突破反爬虫(上)
本周又和大家见面了,首先说一下我最近正在做和将要做的一些事情.(我的新书<Python爬虫开发与项目实战>出版了,大家可以看一下样章) 技术方面的事情:本次端午假期没有休息,正在使用fl ...
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
- Python爬虫入门教程 63-100 Python字体反爬之一,没办法,这个必须写,反爬第3篇
背景交代 在反爬圈子的一个大类,涉及的网站其实蛮多的,目前比较常被爬虫coder欺负的网站,猫眼影视,汽车之家,大众点评,58同城,天眼查......还是蛮多的,技术高手千千万,总有五花八门的反爬技术 ...
- 第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图
第三百四十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—爬虫和反爬的对抗过程以及策略—scrapy架构源码分析图 1.基本概念 2.反爬虫的目的 3.爬虫和反爬的对抗过程以及策略 scra ...
- selenium + chrome 被检测,反反爬小记
selenium + chrome 很多难以采集的网站都使用selenium爬取,但是后来发现selenium有特征值,会被检测出来,今天来小结一下反反爬方案 测试网站 全绿好像代表没被检测出 中间人 ...
- selenium无界面执行和反爬
selenium无界面执行和反爬 无界面执行 from selenium import webdriver from selenium.webdriver.chrome.options import ...
- 关于使用scrapy框架编写爬虫以及Ajax动态加载问题、反爬问题解决方案
Python爬虫总结 总的来说,Python爬虫所做的事情分为两个部分,1:将网页的内容全部抓取下来,2:对抓取到的内容和进行解析,得到我们需要的信息. 目前公认比较好用的爬虫框架为Scrapy,而且 ...
- Python爬虫入门教程 64-100 反爬教科书级别的网站-汽车之家,字体反爬之二
说说这个网站 汽车之家,反爬神一般的存在,字体反爬的鼻祖网站,这个网站的开发团队,一定擅长前端吧,2019年4月19日开始写这篇博客,不保证这个代码可以存活到月底,希望后来爬虫coder,继续和汽车之 ...
随机推荐
- 集合之HashSet(含JDK1.8源码分析)
一.前言 我们已经分析了List接口下的ArrayList和LinkedList,以及Map接口下的HashMap.LinkedHashMap.TreeMap,接下来看的是Set接口下HashSet和 ...
- Operation not allowed on a unidirectional dataset错误?
关于网友提出的“ Operation not allowed on a unidirectional dataset错误?”问题疑问,本网通过在网上对“ Operation not allowed o ...
- codeforces509B
Painting Pebbles CodeForces - 509B There are n piles of pebbles on the table, the i-th pile contains ...
- 牛客网-2018年湘潭大学程序设计竞赛-F
题目链接:https://www.nowcoder.com/acm/contest/105/F 解题思路:这道题第一眼直接思路就是搜索,但想了半天没想到有什么好办法搜,然后就转成最短路写了, 因为多入 ...
- 删除本地git的远程分支和远程删除git服务器的分支【转】
转- 删除本地git的远程分支和远程删除git服务器的分支 在项目中使用git管理代码后,有些时候会创建很多不同名称的分支,以此区分各个分支代码功能. 而随着代码的合并,以前的分支就可能不再需要保存了 ...
- BZOJ2877 NOI2012魔幻棋盘(二维线段树)
显然一个序列的gcd=gcd(其差分序列的gcd,序列中第一个数).于是一维情况直接线段树维护差分序列即可. 容易想到将该做法拓展到二维.于是考虑维护二维差分,查询时对差分矩阵求矩形的gcd,再对矩形 ...
- 为什么Elasticsearch查询变得这么慢了?
参考内容:https://mp.weixin.qq.com/s/RTpBaFpNELQCO6VE0KMfsw
- hashlib 模块用来进行hash
hashlib的基本概述: python中的 hashlib 模块用来进行hash 或者md5加密,而且这种加密是不可逆的,所以这种算法又被称为摘要算法, 其支持Opennssl库提供的所有算法,包括 ...
- 用牛顿-拉弗森法定义平方根函数(Newton-Raphson method Square Root Python)
牛顿法(Newton’s method)又称为牛顿-拉弗森法(Newton-Raphson method),是一种近似求解实数方程式的方法.(注:Joseph Raphson在1690年出版的< ...
- centos6.8下安装破解quartus prime16.0以及modelsim ae安装
前言 装逼使用 流程 安装modelsim: 1.modelsim ae在linux下是32位的,对于64位系统需要安装32位库:yum install xulrunner.i686 2.给予权限: ...