登录流程:

  • 实例化一个driver,然后driver.get()发送请求
  • 最重要的:切换iframe子框架,因为豆瓣的网页中的登录那部分是一个ifrme,必须切换才能寻找到对应元素
  • 利用selenium切换到账号密码登录
  • 利用selenium输入账户和密码
  • 利用selenium点击登录按钮
  • 然后利用字典推导式保存了一下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('')
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() # 退出浏览器

最新文章

  1. js控制只允许输入数字
  2. Linux服务器集群系统(二)--转
  3. 解析$.grep()源码及透过$.grep()看(两次取反)!!的作用
  4. [Cycle.js] Customizing effects from the main function
  5. Hudson+Maven+Svn搭建持续集成环境
  6. 《Intel汇编第5版》 Mov指令
  7. 数据结构与算法1-2 C语言运行时间检测算法
  8. 20145237《Java程序设计》实验报告一
  9. UOJ.311.[UNR#2]积劳成疾(DP)
  10. FileZilla-01
  11. office2016产品密钥
  12. Sum of Consecutive Prime Numbers POJ - 2739 线性欧拉筛(线性欧拉筛证明)
  13. css标准文档流
  14. str、tuple、dict之间的相互转换
  15. iptables和firewalld的配置
  16. Shell基础知识(一)
  17. linux进程与线程的区别【转】
  18. 2018.09.02 bzoj1025: [SCOI2009]游戏(计数dp+线筛预处理)
  19. HDU 6315 Naive Operations(线段树+区间维护)多校题解
  20. Oracle表空间知识

热门文章

  1. python 生成金字塔,2^n
  2. vue 复制内容到粘贴板
  3. shell 从键盘读取输入时删除输入的字符
  4. sass 插值语句的使用
  5. git push and git pull
  6. webpack publicpath path
  7. Go项目的测试代码3(测试替身Test Double)
  8. 信息学竞赛一本通提高版AC题解—例题1.1活动安排
  9. LC 873. Length of Longest Fibonacci Subsequence
  10. webpy简单入门---1