怎么在python中使用硒登录QQ邮箱

  介绍

本篇文章给大家分享的是有关怎么在python中使用硒登录QQ邮箱,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<强> 1.1登录

#, coding =, utf - 8   得到selenium  import  webdriver   import 时间   import 随机   得到utils  import  DbUtil   import  uuid   得到selenium.webdriver  import  ActionChains   得到PIL  import  Image  as  Im   import 操作系统   import  cv2   import  numpy  as  np   import 请求   得到pymongo  import  MongoClient      1.1 #,代码,目前只用到webdriver和时间库,其他的会在下面用的到   #,u 帐号p 密码   def 电子邮件(u, p):   ,#定义QQ邮箱的登录页=,start_url “https://mail.qq.com"      ,#这里我用的是火狐浏览器。很多人喜欢定义成driver 我喜欢定义成浏览器=,,browser  webdriver.Firefox ()      ,#休息2 s   ,time . sleep (2)      ,#使用火狐浏览器打开QQ邮箱的登录页   ,browser.get (start_url)      ,#休息2 s(这个睡眠时间因网速而异,部分的错误就是因为网站还没打开你就开始获取网页的标签进行操作,当然就获取不到然后报错了~)   ,time . sleep (2)      ,#切换frame.login_frame是该登录窗口iframe的id   ,browser.switch_to.frame (“login_frame")      ,#点击选择帐号密码登录   ,browser.find_element_by_id (“switcher_plogin") .click ()      ,#休息   ,time . sleep (1)      ,#输入帐号,将u填入身份证是你的输入框   ,browser.find_element_by_id (“u") .send_keys (u)   ,time . sleep (1)      ,#输入密码,将p填入id是p的输入框   ,browser.find_element_by_id (“p") .send_keys (p)   ,time . sleep (1)      ,#点击登录,登录按钮的id是login_button   ,browser.find_element_by_id (“login_button") .click ()      #,主方法   if  __name__ ==, & # 39; __main__ # 39;:   ,#为了实现异地登录,随意定义一个QQ号(反正我们的目的是滑动解锁0.0),如果直接提示帐号密码错误没有验证码的话就再随意编一个QQ号   ,电子邮件(u=?23456789“,, p=癮bcdefg")

运行一下应该就能看到我们要的滑动验证码了

<强> 1.2获取验证码图片

我们在运行完上面的代码之后验证码应该出来了,首先我们需要将其中的拼图和完整图片下载下来用于后面的距离计算。
我们先F12然后
点击左侧的小拼图查看元素↓

怎么在python中使用硒登录QQ邮箱

点击大拼图查看元素↓

怎么在python中使用硒登录QQ邮箱

以上选中的这两张图片就是我们后面要用来计算滑动距离的图片

要获取到图片需要两步:

<强> 1,获取到图片的链接(上面已经能看到了)
<强> 2,根据链接将图片下载到本地处理

回到刚才的代码我们需要先加个判断来识别是否出现了滑动验证码(有的时候会直接提示帐号密码错误)
只要判断这个“安全验证“的提示就可以说明是有滑动验证码的,反之没有。

怎么在python中使用硒登录QQ邮箱

#,代码1.1省略....↑   #,代码1.2.1   #,判断是否出现了滑动验证码   试一试:   ,#先切换回帧到默认   ,browser.switch_to.default_content ()   ,   ,#将画面切换到,login_frame(也就是之前的登录框架)   ,browser.switch_to.frame (“login_frame")   ,   ,#根据xpath获取到含有安全提示的标签然后将其中文本获取到打印出来,如果异常就进除了块,说明没有验证码=,,code  browser.find_element_by_xpath (& # 39;//* [@ id=皀ewVcodeArea"]/div [1]/div/div [2] & # 39;)。text   ,打印(代码)   except :   ,打印(& # 39;无安全验证码! & # 39;)

这块代码写完我们基本上实现了<强>登录和<强>判断是否出现滑动验证码的功能,不多BB我们<强>继续↓

出现滑动验证码的时候我们先点击刷新

怎么在python中使用硒登录QQ邮箱

怎么在python中使用硒登录QQ邮箱