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实现身份证号码解析
Sep 01 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
Feb 16 Python
详细分析python3的reduce函数
Dec 05 Python
Python 12306抢火车票脚本
Feb 07 Python
python生成以及打开json、csv和txt文件的实例
Nov 16 Python
python pygame实现五子棋小游戏
Oct 26 Python
如何使用python把ppt转换成pdf
Jun 29 Python
详解Django 时间与时区设置问题
Jul 23 Python
Python Web程序搭建简单的Web服务器
Jul 31 Python
Spring http服务远程调用实现过程解析
Jun 11 Python
Python高并发和多线程有什么关系
Nov 14 Python
matplotlib 范围选区(SpanSelector)的使用
Feb 24 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类与对象中的private访问控制的疑问
2012/11/01 PHP
最新28个很棒的jQuery 教程
2011/05/28 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
js 在定义的时候立即执行的函数表达式(function)写法
2013/01/16 Javascript
JS关键字变色实现思路及代码
2013/02/21 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
javascript实现简单加载随机色方块
2015/12/25 Javascript
js实现商城星星评分的效果
2015/12/29 Javascript
详谈javascript异步编程
2016/02/21 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
es6函数之rest参数用法实例分析
2020/04/18 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
2020/08/05 Javascript
vue递归获取父元素的元素实例
2020/08/07 Javascript
linux下安装easy_install的方法
2013/02/10 Python
Python读写docx文件的方法
2018/05/08 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python、Matlab求定积分的实现
2019/11/20 Python
django连接mysql数据库及建表操作实例详解
2019/12/10 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
python绘制雷达图实例讲解
2021/01/03 Python
Python读写Excel表格的方法
2021/03/02 Python
CSS3实现苹果手机解锁的字体闪亮效果示例
2021/01/05 HTML / CSS
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
Sarenza德国:法国最大的时尚鞋和包包网上商店
2019/06/08 全球购物
The Athlete’s Foot新西兰:新西兰最大的运动鞋零售商
2019/12/23 全球购物
网络体系结构及协议的定义
2014/03/13 面试题
团日活动总结模板
2014/06/25 职场文书
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript