selenium利用cookie登录百度

这篇博客介绍了如何利用Selenium获取并使用cookies来实现自动登录百度账号。通过提取cookies信息,如BAIDUID、BIDUPSID等,并在Selenium中设置这些cookies,可以实现无需手动输入就能完成登录的过程。

取cookies值

import requests
from selenium import webdriver
import time

from selenium.webdriver.common.by import By

# 準備弄一個
def main():
    # ! /usr/bin/env python
    # coding=utf-8

    from selenium import webdriver
    import time

    driver = webdriver.Chrome()
    driver.get("https://www.baidu.com/")
    time.sleep(3)

    driver.find_element_by_link_text( '登入').click()
    time.sleep(3)
    driver.find_element_by_id( 'TANGRAM__PSP_10__footerULoginBtn').click()
    time.sleep(3)
    # 輸入賬號和密碼
    driver.find_element_by_name( "userName").send_keys("dasdas")
    driver.find_element_by_name("password").send_keys("passwprd")
    time.sleep(20)
    # 手動輸入驗證碼
    driver.find_element("id", "TANGRAM__PSP_10__submit").click()
    time.sleep(5)

    # 獲取cookies值
    cookies = driver.get_cookies()
    print(cookies)
    driver.quit()

    pass


if __name__ == '__main__':
    main()

結果:

[ {'value': '828211617093E523BC5EDFE05AB3EA39:FG=1', 'expiry': 3651917680, 'path': '/', 'name': 'BAIDUID', 'httpOnly': False, 'secure': False, 'domain': '.baidu.com'},  {'value': '828211617093E523BC5EDFE05AB3EA39', 'expiry': 3651917680, 'path': '/', 'name': 'BIDUPSID', 'httpOnly': False, 'secure': False, 'domain': '.baidu.com'},  {'value': '1504433526', 'expiry': 3651917680, 'path': '/', 'name': 'PSTM', 'httpOnly': False, 'secure': False, 'domain': '.baidu.com'},  {'value': 'B490B5EBF6F3CD402E515D22BCDA1598', 'expiry': 1504520438, 'path': '/', 'name': 'BDORZ', 'httpOnly': False, 'secure': False, 'domain': '.baidu.com'},  {'value': 'eee17f0ccd81747c87f3b9e5f43712eb', 'expiry': 2556057600, 'path': '/', 'name': 'FP_UID', 'httpOnly': False, 'secure': False, 'domain': '.baidu.com'},  {'value': 'N2YTVzQX5aTWl4THpFWGhOMFp4VDk2T1MyQ0Z5bWRwRDMtcnhSN0lkQ1pZdE5aSVFBQUFBJCQAAAAAAAAAAAEAAAC~pSxhu-HF3LXE0NwyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnVq1mZ1atZdk', 'expiry': 1763634068, 'path': '/', 'name': 'BDUSS', 'httpOnly': True, 'secure': False, 'domain': '.baidu.com'},  {'value': '1', 'expiry': None, 'path': '/', 'name': 'BD_HOME', 'httpOnly': False, 'secure': False, 'domain': 'www.baidu.com'},  {'value': '1439_12897_21089_22160', 'expiry': None, 'path': '/', 'name': 'H_PS_PSSID', 'httpOnly': False, 'secure': False, 'domain': '.baidu.com'},  {'value': '13314352', 'expiry': 1505298070, 'path': '/', 'name': 'BD_UPN', 'httpOnly': False, 'secure': False, 'domain': 'www.baidu.com'},  {'value': '1', 'expiry': 2450514070, 'path': '/', 'name': 'sugstore', 'httpOnly': False, 'secure': False, 'domain': '.www.baidu.com'} ]

剩下的如何取到登入的cookie,需要自己去嘗試,如果是開發中,就去問開發就行,更方便

利用cookie值,登入百度帳號

#! /usr/bin/env python
#coding=utf-8
from selenium import webdriver
import time

'''
利用cookies值登入百度
{'value': 'N2YTVzQX5aTWl4THpFWGhOMFp4VDk2T1MyQ0Z5bWRwRDMtcnhSN0lkQ1pZdE5aSVFBQUFBJCQAAAAAAAAAAAEAAAC~pSxhu-HF3LXE0NwyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnVq1mZ1atZdk', 
'expiry': 1763634068, 
'path': '/', 
'name': 'BDUSS', 
'httpOnly': True, 
'secure': False, 
'domain': '.baidu.com'}
'''
driver = webdriver.Firefox()
driver.get("https://www.baidu.com/")
time.sleep(3)

#設定cookies值,基本格式
c1 = {'value': 'N2YTVzQX5aTWl4THpFWGhOMFp4VDk2T1MyQ0Z5bWRwRDMtcnhSN0lkQ1pZdE5aSVFBQUFBJCQAAAAAAAAAAAEAAAC~pSxhu-HF3LXE0NwyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnVq1mZ1atZdk', 
    'expiry': 1763634068, 
    'path': '/', 
    'name': 'BDUSS', 
    'httpOnly': True, 
    'secure': False, 
    'domain': '.baidu.com'}

#新增cookies
driver.add_cookie(c1)
time.sleep(3)

#重新整理之後觀察是否已經登入成功
driver.refresh()
time.sleep(5)

driver.quit()

  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值