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判断变量是否已经定义的方法
Aug 18 Python
python正则表达式match和search用法实例
Mar 26 Python
详解Django框架中用户的登录和退出的实现
Jul 23 Python
Python使用gensim计算文档相似性
Apr 10 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
使用python爬取微博数据打造一颗“心”
Jun 28 Python
Python中新式类与经典类的区别详析
Jul 10 Python
如何搭建pytorch环境的方法步骤
May 06 Python
Python中zipfile压缩包模块的使用
May 14 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数据库开发知多少
2006/10/09 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
php代码书写习惯优化小结
2013/06/20 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
JS实现仿google、百度搜索框输入信息智能提示的实现方法
2015/04/20 Javascript
js光标定位文本框回车表单提交问题的解决方法
2015/05/11 Javascript
JavaScript中使用数组方法汇总
2016/02/16 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
js技巧之十几行的代码实现vue.watch代码
2018/06/09 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
Python的Flask框架中实现登录用户的个人资料和头像的教程
2015/04/20 Python
Phantomjs抓取渲染JS后的网页(Python代码)
2016/05/13 Python
Python并发之多进程的方法实例代码
2018/08/15 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
2019/01/15 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
2020/02/10 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
python类共享变量操作
2020/09/03 Python
运动会领导邀请函
2014/02/05 职场文书
元宵晚会主持词
2014/03/25 职场文书
担保书怎么写
2014/04/01 职场文书
学生会主席演讲稿
2014/04/25 职场文书
珍惜资源的建议书
2014/08/26 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android