涉及到知识点:

  • Xpath
  • frame切换

分析

以彼岸桌面壁纸为例,爬取很多原图时需要用户登录(花钱才可以下载诸多原图,普通用户只可以一天只可以下载一次原图,在这里使用QQ一键登录全当练练手)。
以其中的某一张壁纸为例,点击下载原图需要QQ一键登录。
这项任务我们可以通过selenium来完成。

但是在QQ快速安全登录页面里,

发现通过普通的driver.find_element_by_xpath并不能点击头像,运行代码没反应。
这是因为在QQ快速安全登录页面有iframe 元素

对应的头像按钮元素嵌入在iframe元素里,切进去才能点击,使用driver.switch_to.frame()进行操作,然后使用xpath进行查找即可

上代码

# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleepoptions = webdriver.ChromeOptions()
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'D:\spider_picture'}#关闭下载弹窗
options.add_experimental_option('prefs', prefs)
driver = webdriver.Chrome(executable_path='D:\\chromedriver.exe', chrome_options=options)
driver.get('http://pic.netbian.com/tupian/25759.html')
driver.find_element_by_xpath('//div[@class="downpic"]').click()
sleep(1)
driver.find_element_by_xpath('//*[@id="qq_register"]').click()#跳转到QQ快速登录界面
sleep(2)
driver.switch_to.frame('ptlogin_iframe')#frame切换,进入frame内部才可以进行点击
sleep(5)
driver.find_element_by_xpath('//div[@class="qlogin_list"]//a/*[5]').click()#使用xpath找到头像按钮元素
sleep(2)
driver.find_element_by_xpath('//div[@class="downpic"]').click()#已经登录,继续点击下载按钮

运行结果

selenium实现模拟点击QQ一键登录相关推荐

  1. php获取qzonetoken,QQ一键登录实现

    首先,登录QQ互联平台获取QQ一键登录所需的Appkey和Appsecret. 2.下载QQ登录用的SDK软件包,可以上QQ互联官方网下载.这里用的是Connect_PHP_SDK_for_OAuth ...

  2. laravel实现第三方qq一键登录

    首先composer安装依赖: composer require socialiteproviders/qq复制代码 注册服务提供者(同时注释掉原有的Socialite提供者): 'providers ...

  3. Android webview实现QQ一键登录授权

    Android webview实现QQ一键登录授权 最近公司要求的新需求,要实现webview中的的QQ登录,大脑没经过就习惯的百度,奈何找了两天的资料也没发现个完整的demo,只能自己写,好吧,还要 ...

  4. QQ一键登录助手_DedeCMS插件_适合FOR V55 V56 V57_GBK.zip

    QQ一键登录助手_DedeCMS插件_适合FOR V55 V56 V57_GBK.zip 此插件是方便会员进行注册登录操作,为 站长 带来更多活跃会员 使用此插件要注意一下几点: 1.此插件使用前请到 ...

  5. uniapp中调用QQ一键登录实现方法

    要在uniapp中实现QQ一键登录,主要步骤: 1.manifest.json的模块设置中,启用QQ登录,并填入appid 3.新建登录页 <template><view>正在 ...

  6. 织梦DEDECMS QQ一键登录插件返回空白解决方法

    修改织梦网站时,遇到个QQ一键登录返回是空白的问题 找了好久没发现什么原因,最后才知道原因在于服务器, 因为腾讯OAuth2.0采用的是https协议进行数据请求,QQ一键登录插件采用curl拓展对数 ...

  7. php 一键登录插件,[免费]ZblogPHP QQ一键登录免费插件

    先上背景:自从装了ZBlogPHP程序,一直在寻找QQ互联的插件,因为我懒得记密码!!!因为懒...所以就在某应用中心搜索,工夫不负有心人,找是找到了,,但是,,,但是价格不菲啊!!! ,,,作为一个 ...

  8. 使用 apifm 插件进行 Flutter 云开发——QQ一键登录/注册

    在你的 App 中集成手机QQ一键授权(注册)登录功能,达到快速注册.快速登录功能 按照本教程的操作指引,预计5分钟即可帮你实现并掌握QQ登录的实现 申请开通QQ互联 https://connect. ...

  9. 微信qq一键登录php代码6,Laravel6实现第三方 微信登录

    目前很多的网站中都会存在很多的交互功能,从而降低用户的操作难度,特此带来微信的第三方登录的项目实战功能开发.对于本实例中的开发内容,就不在使用原生的内容,而是直接使用别人写好的封装的类库. 1. 安装 ...

最新文章

  1. HTTPS 也不安全?被发现新漏洞会暴露你的数据
  2. 5G改变企业发展业务的方式-Vecloud微云
  3. python连接mongodb进行查询_Python中的MongoDB基本操作:连接、查询实例
  4. Pytorch实现U-net细胞分割
  5. 文献学习(part30)--Clustering of temporal gene expression data by regularized spline regression and...
  6. gta4 l3环境优化补丁_【安全刻不容缓】快给你们的爱7打打补丁吧 俄罗斯大佬的持续更新补丁包来了...
  7. c语言小车倒车程序,STC12C5A60S2串口演示程序(C语言版)
  8. 罗马数字和阿拉伯数字转换
  9. win7更新_今天,Win7正式终止更新,扫雷成为历史
  10. 淘宝网的简单版html+css
  11. 面向削峰填谷的电动汽车多目标优化调度策略
  12. 使用Robot Framework做接口测试
  13. S7-1200PLC—实验五 引风机和送风机的顺序控制
  14. linux 7进入目录的命令,centos7目录统计之du命令
  15. 佳能canon e510打印机驱动 1.0 官E510 series XPS 打印机驱动程序 v. 5.62 (Windows)
  16. Arduino宿舍门禁,实现刷卡(NFC)开门
  17. 前端小报-201809 月刊
  18. 字符串操作函数strstr
  19. 可视化工具VisIt安装使用教程(Windows)
  20. OJ每日一练——温度换算

热门文章

  1. 【数字图像处理】MATLAB实现图像旋转
  2. Matlab帮助文档设置
  3. 宏定义编程软件_什么是计算机编程? 定义软件开发。
  4. iOS和Android的app界面设计规范
  5. vue父传子通过对象的形式简写
  6. EurekaCAP原理
  7. 2022最全Hbuilder打包成苹果IOS-App的详解
  8. 超宽屏幕比例_选择合适的21:9超宽带鱼屏屏幕(普通屏幕也可)
  9. VS Code 快速删除多行的部分内容
  10. 任务教学法在计算机教学,“任务驱动”教学法在计算机基础教学中的应用