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循环语句之break与continue的用法
Oct 14 Python
判断网页编码的方法python版
Aug 12 Python
Python中.py文件打包成exe可执行文件详解
Mar 22 Python
Python单例模式的两种实现方法
Aug 14 Python
Python生成任意范围任意精度的随机数方法
Apr 09 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
Python第三方库face_recognition在windows上的安装过程
May 03 Python
python操作kafka实践的示例代码
Jun 19 Python
Python3内置模块random随机方法小结
Jul 13 Python
Python3enumrate和range对比及示例详解
Jul 13 Python
python 写一个文件分发小程序
Dec 05 Python
Python爬虫后获取重定向url的两种方法
Jan 19 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的字符串中单引号与双引号的区别
2016/05/07 PHP
nginx 设置多个站跨域
2021/03/09 Servers
经常用到的JavasScript事件的翻译
2007/04/09 Javascript
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
微信小程序 swiper组件详解及实例代码
2016/10/25 Javascript
jQuery实现大图轮播
2017/02/13 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
使用JQ完成表格隔行换色的简单实例
2017/08/25 Javascript
js对象属性名驼峰式转下划线的实例代码
2020/09/17 Javascript
js中复选框的取值及赋值示例详解
2020/10/18 Javascript
微信小程序实现锚点跳转
2020/11/23 Javascript
Python使用Supervisor来管理进程的方法
2015/05/28 Python
python安装与使用redis的方法
2016/04/19 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
对Django url的几种使用方式详解
2019/08/06 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
python将图片转base64,实现前端显示
2020/01/09 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
初中数学教学反思
2014/01/16 职场文书
村干部培训班主持词
2014/03/28 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
幼儿园开学家长寄语(2015秋季)
2015/05/27 职场文书
优质护理心得体会
2016/01/22 职场文书
「租借女友」第2季樱泽墨角色PV&新视觉图公开
2022/03/21 日漫
浅谈Redis 中的过期删除策略和内存淘汰机制
2022/04/03 Redis