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()  # 退出浏览器
复制代码

 

posted @   springionic  阅读(1514)  评论(1编辑  收藏  举报
编辑推荐:
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
阅读排行:
· 感觉程序员要被 AI 淘汰了?学什么才有机会?
· MQTT协议发布和订阅的实现,一步步带你实现发布订阅服务。
· Dify开发必备:分享8个官方文档不曾解释的关键技巧
· 活动中台系统慢 SQL 治理实践
· “你觉得客户需要”是杀死TA的最后一根稻草 | IPD集成产品开发
点击右上角即可分享
微信分享提示