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

猜你喜欢

转载自www.cnblogs.com/springionic/p/11135064.html