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之wxPython应用实例
Sep 28 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
python 寻找list中最大元素对应的索引方法
Jun 28 Python
python 统计数组中元素出现次数并进行排序的实例
Jul 02 Python
Python实现的网页截图功能【PyQt4与selenium组件】
Jul 12 Python
Django 路由控制的实现
Jul 17 Python
Django CBV类的用法详解
Jul 26 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 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的access操作类
2008/04/09 PHP
php发送post请求的三种方法
2014/02/11 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
PHP 实现页面静态化的几种方法
2017/07/23 PHP
jQuery-Easyui 1.2 实现多层菜单效果的代码
2012/01/13 Javascript
javascript实现单击和双击并存的方法
2014/12/13 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JavaScript手机振动API
2016/06/11 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
微信小程序 实现动态显示和隐藏某个控件
2017/04/27 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
Python中的random()方法的使用介绍
2015/05/15 Python
python实现文件路径和url相互转换的方法
2015/07/06 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
python3中的md5加密实例
2018/05/29 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
python输出pdf文档的实例
2020/02/13 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
Hotels.com南非:酒店预订
2017/11/02 全球购物
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
单位成立周年感言
2014/01/26 职场文书
财务工作检讨书
2014/10/29 职场文书
先进员工事迹材料
2014/12/20 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
Django基础CBV装饰器和中间件
2022/03/22 Python
PHP 时间处理类Carbon
2022/05/20 PHP
Nginx报错104:Connection reset by peer问题的解决及分析
2022/07/23 Servers