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计算最小优先级队列代码分享
Dec 18 Python
Python常用模块用法分析
Sep 08 Python
Flask入门教程实例:搭建一个静态博客
Mar 27 Python
python BeautifulSoup设置页面编码的方法
Apr 03 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
Jul 09 Python
Python中正则表达式的用法总结
Feb 22 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
python3连接kafka模块pykafka生产者简单封装代码
Dec 23 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
Python模拟登录requests.Session应用详解
Nov 17 Python
怎么用Python识别手势数字
Jun 07 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中的boolean(布尔)类型详解
2013/10/28 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
jQuery实现简单的网页换肤效果示例
2016/09/18 Javascript
js实现登录验证码
2016/12/22 Javascript
vue+axios+promise实际开发用法详解
2018/10/15 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
JS一次前端面试经历记录
2020/03/19 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
详解numpy的argmax的具体使用
2019/05/27 Python
使用python实现unix2dos和dos2unix命令的例子
2019/08/13 Python
Python3 中sorted() 函数的用法
2020/03/24 Python
python实现mean-shift聚类算法
2020/06/10 Python
使用OpenCV对车道进行实时检测的实现示例代码
2020/06/19 Python
python文件排序的方法总结
2020/09/13 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
为什么使用接口?
2014/08/13 面试题
管理部部长岗位职责
2013/12/05 职场文书
爱心捐款倡议书
2014/04/14 职场文书
奥巴马竞选演讲稿
2014/05/15 职场文书
博士生导师推荐信
2014/07/08 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
2015年底工作总结范文
2015/05/15 职场文书
房屋产权证明书
2015/06/19 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
python 如何在list中找Topk的数值和索引
2021/05/20 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python