使用 selenium 時可以自動輸入帳號密碼登入,但也還有另一個選擇,就是使用 cookie 啦,這篇文章會以 Facebook 為例,教大家如何取得和使用 cookie。
取得 cookie
取得 cookie 的程式碼相當簡單,就這樣短短一行: cookie = driver.get_cookies()
而取得 cookie 的時間點在我們登入之後,所以先在程式碼加入 input()
,等我們登入後再到 terminal 輸入任意字以取得 cookie,最後再將 cookie 寫到檔案。
from selenium import webdriver
import json
driver = webdriver.Chrome('path to chrome driver')
driver.get('https://facebook.com/')
input() # 登入後再在 terminal 輸入任意字
cookie = driver.get_cookies() # get cookie
# 把 cookie 寫入檔案 (json 格式)
with open('cookie.json','w') as f:
f.write(json.dumps(cookie))
使用 cookie
讀取剛剛含有 cookie 的檔案,再把 cookie 加到 driver,最後重新整理網頁就登入囉~
from selenium import webdriver
import json
driver = webdriver.Chrome('path to chrome driver')
driver.get('https://facebook.com/')
with open('cookie.json','r') as f: # 讀入 cookie
data=json.loads(f.read())
for cookie in data:
driver.add_cookie(cookie) # 把 cookie 加進去
driver.refresh() # 重新整理網頁
這樣就可以實現免帳密自動登入啦~趕快動手試試看吧!
0 Comments
張貼留言