selenium登录豆瓣网
登录流程:
- 实例化一个driver,然后driver.get()发送请求
- 最重要的:切换iframe子框架,因为豆瓣的网页中的登录那部分是一个ifrme,必须切换才能寻找到对应元素
- 利用selenium切换到账号密码登录
- 利用selenium输入账户和密码
- 利用selenium点击登录按钮
- 然后利用字典推导式保存了一下cookie
代码实现:
1 import time 2 from selenium import webdriver 3 4 # 实例化driver 5 driver = webdriver.Chrome() 6 driver.get('https://www.douban.com/') 7 ## 切换iframe子框架 8 driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) 9 10 driver.maximize_window() # 最大化窗口 11 driver.find_element_by_css_selector('li.account-tab-account').click() # 点击密码登录的标签 12 driver.find_element_by_id('username').send_keys('13343396443') 13 driver.find_element_by_id('password').send_keys('lilei120400') 14 # 点击‘登录豆瓣’按钮 15 # 这里需要注意,当元素的class属性有好几个的时候,此函数的参数填class的第一个就好 16 driver.find_element_by_class_name('btn').click() # 元素的class属性:btn btn-account 17 # 获取cookies,字典推导式 18 cookies = {i['name']: i['value'] for i in driver.get_cookies()} 19 print(cookies) 20 21 time.sleep(5) 22 driver.quit() # 退出浏览器
分类:
Spider
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 感觉程序员要被 AI 淘汰了?学什么才有机会?
· MQTT协议发布和订阅的实现,一步步带你实现发布订阅服务。
· Dify开发必备:分享8个官方文档不曾解释的关键技巧
· 活动中台系统慢 SQL 治理实践
· “你觉得客户需要”是杀死TA的最后一根稻草 | IPD集成产品开发