python selenium登录豆瓣网过程解析


Posted in Python onAugust 10, 2019

登录流程:

  1. 实例化一个driver,然后driver.get()发送请求
  2. 最重要的:切换iframe子框架,因为豆瓣的网页中的登录那部分是一个ifrme,必须切换才能寻找到对应元素
  3. 利用selenium切换到账号密码登录
  4. 利用selenium输入账户和密码
  5. 利用selenium点击登录按钮
  6. 然后利用字典推导式保存了一下cookie

代码实现:

import time
from selenium import webdriver

# 实例化driver
driver = webdriver.Chrome()
driver.get('https://www.douban.com/')
## 切换iframe子框架
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])

driver.maximize_window() # 最大化窗口
driver.find_element_by_css_selector('li.account-tab-account').click() # 点击密码登录的标签
driver.find_element_by_id('username').send_keys('13343396443')
driver.find_element_by_id('password').send_keys('lilei120400')
# 点击‘登录豆瓣'按钮
# 这里需要注意,当元素的class属性有好几个的时候,此函数的参数填class的第一个就好
driver.find_element_by_class_name('btn').click() # 元素的class属性:btn btn-account
# 获取cookies,字典推导式
cookies = {i['name']: i['value'] for i in driver.get_cookies()}
print(cookies)

time.sleep(5)
driver.quit() # 退出浏览器

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python greenlet实现原理和使用示例
Sep 24 Python
Python多进程同步Lock、Semaphore、Event实例
Nov 21 Python
Python使用email模块对邮件进行编码和解码的实例教程
Jul 01 Python
python实现简单淘宝秒杀功能
May 03 Python
pycharm 配置远程解释器的方法
Oct 28 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
python内置函数sorted()用法深入分析
Oct 08 Python
python3常用的数据清洗方法(小结)
Oct 31 Python
virtualenv介绍及简明教程
Jun 23 Python
基于Python制作一副扑克牌过程详解
Oct 19 Python
python中tkinter复选框使用操作
Nov 11 Python
python matplotlib库绘制散点图例题解析
Aug 10 #Python
python matplotlib库绘制条形图练习题
Aug 10 #Python
Python OpenCV实现鼠标画框效果
Aug 19 #Python
python opencv鼠标事件实现画框圈定目标获取坐标信息
Apr 18 #Python
python点击鼠标获取坐标(Graphics)
Aug 10 #Python
python matplotlib库直方图绘制详解
Aug 10 #Python
python字典的遍历3种方法详解
Aug 10 #Python
You might like
PHP 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
php 实现进制相互转换
2016/04/07 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
PHP的imageTtfText()函数深入详解
2021/03/03 PHP
javascrip关于继承的小例子
2013/05/10 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
npm全局环境变量配置详解
2020/12/15 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
Python translator使用实例
2008/09/06 Python
从零学python系列之数据处理编程实例(二)
2014/05/22 Python
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
Python人脸识别第三方库face_recognition接口说明文档
2019/05/03 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
2013/08/11 HTML / CSS
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
光声世纪笔试题目
2012/08/25 面试题
linux面试题参考答案(2)
2015/12/06 面试题
材料加工硕士生求职信
2013/10/10 职场文书
农业大学毕业生的个人自我评价
2013/10/11 职场文书
报社实习生自荐信
2014/01/24 职场文书
毕业晚会主持词
2014/03/24 职场文书
村党支部群众路线教育实践活动对照检查材料
2014/09/26 职场文书
2015年推普周活动总结
2015/03/27 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android
MySQL事务的ACID特性以及并发问题方案
2022/07/15 MySQL