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