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