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实现删除文件但保留指定文件
Jun 21 Python
Python3字符串学习教程
Aug 20 Python
Django实现简单分页功能的方法详解
Dec 05 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
python切片(获取一个子列表(数组))详解
Aug 09 Python
Python简易版停车管理系统
Aug 12 Python
使用 pytorch 创建神经网络拟合sin函数的实现
Feb 24 Python
java关于string最常出现的面试题整理
Jan 18 Python
python tkinter模块的简单使用
Apr 07 Python
用Python将库打包发布到pypi
Apr 13 Python
详解Django中 render() 函数的使用方法
Apr 22 Python
Python借助with语句实现代码段只执行有限次
Mar 23 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判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
Prototype Function对象 学习
2009/07/12 Javascript
在新窗口打开超链接的方法小结
2013/04/14 Javascript
解析window.open的使用方法总结
2013/06/19 Javascript
js写的评论分页(还不错)
2013/12/23 Javascript
使用js完成节点的增删改复制等的操作
2014/01/02 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
vant 时间选择器--开始时间和结束时间实例
2020/11/04 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
跟老齐学Python之重回函数
2014/10/10 Python
介绍Python中几个常用的类方法
2015/04/08 Python
python实现bucket排序算法实例分析
2015/05/04 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
Python标准库sched模块使用指南
2017/07/06 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
python中的数据结构比较
2019/05/13 Python
python__new__内置静态方法使用解析
2020/01/07 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
python安装读取grib库总结(推荐)
2020/06/24 Python
Python turtle库的画笔控制说明
2020/06/28 Python
python进行OpenCV实战之画图(直线、矩形、圆形)
2020/08/27 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
苏格兰在线威士忌商店:The Whisky Barrel
2019/05/07 全球购物
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
教师群众路线学习心得体会
2014/11/04 职场文书
nginx 反向代理之 proxy_pass的实现
2021/03/31 Servers
redis cluster支持pipeline的实现思路
2021/06/23 Redis