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多线程下的变量问题
Apr 28 Python
详解python调度框架APScheduler使用
Mar 28 Python
Mac 上切换Python多版本
Jun 17 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
Python中的 enum 模块源码详析
Jan 09 Python
python 计算数据偏差和峰度的方法
Jun 29 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
Apr 11 Python
python变量的作用域是什么
May 26 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开发中四种查询返回结果分析
2011/01/02 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
在openSUSE42.1下编译安装PHP7 的方法
2015/12/24 PHP
破除一些网站复制、右键限制
2006/11/04 Javascript
关于javascript function对象那些迷惑分析
2011/10/24 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器(优化篇)
2013/06/28 Javascript
jQuery简单实现两级下拉菜单效果代码
2015/09/15 Javascript
springMVC结合AjaxForm上传文件
2016/07/12 Javascript
Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
2016/12/31 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
微信小程序实现点击效果
2019/06/21 Javascript
js回调函数仿360开机
2019/12/26 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
Python函数的周期性执行实现方法
2016/08/13 Python
python Socket之客户端和服务端握手详解
2017/09/18 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
如何用python整理附件
2018/05/13 Python
Flask入门之上传文件到服务器的方法示例
2018/07/18 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python简单贪吃蛇开发
2019/01/28 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
django框架cookie和session用法实例详解
2019/12/10 Python
在spyder IPython console中,运行代码加入参数的实例
2020/04/20 Python
详解Python高阶函数
2020/08/15 Python
canvas学习笔记之绘制简单路径
2019/01/28 HTML / CSS
什么是事务?事务有哪些性质?
2012/03/11 面试题
村委会贫困证明
2014/01/14 职场文书
《长城》教学反思
2014/02/14 职场文书
2015年外联部工作总结
2015/04/03 职场文书
《观察物体》教学反思
2016/02/17 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书
《别在吃苦的年纪选择安逸》读后感3篇
2019/11/30 职场文书