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 相关文章推荐
使用Node.js和Socket.IO扩展Django的实时处理功能
Apr 20 Python
在Python中用has_key()方法查找键是否存在的教程
May 21 Python
python先序遍历二叉树问题
Nov 10 Python
Python实现KNN邻近算法
Jan 28 Python
python实现简易内存监控
Jun 21 Python
Django csrf 两种方法设置form的实例
Feb 03 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
python+selenium 鼠标事件操作方法
Aug 24 Python
Python测试Kafka集群(pykafka)实例
Dec 23 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
解决Python图形界面中设置尺寸的问题
Mar 05 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 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&mysql(一)
2006/10/09 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
2012/07/20 PHP
php生成shtml类用法实例
2014/12/09 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
php通过array_push()函数添加多个变量到数组末尾的方法
2015/03/18 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
2020/10/30 PHP
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
js动态添加事件并可传参数示例代码
2013/10/21 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
微信小程序实现分页加载效果
2020/11/19 Javascript
vue+elementUI动态增加表单项并添加验证的代码详解
2020/12/17 Vue.js
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
高效使用Python字典的清单
2018/04/04 Python
python集合常见运算案例解析
2019/10/17 Python
python处理excel绘制雷达图
2019/10/18 Python
python开发实例之python使用Websocket库开发简单聊天工具实例详解(python+Websocket+JS)
2020/03/18 Python
基于python实现可视化生成二维码工具
2020/07/08 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
中粮集团旗下食品网上购物网站:我买网
2016/09/22 全球购物
美国木工工具和用品商店:Woodcraft
2019/10/30 全球购物
linux面试题参考答案(8)
2016/04/19 面试题
综合测评自我鉴定
2013/10/08 职场文书
质检部部长职责
2013/12/16 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书