Selenium 免登入的實現

2022-07-03 09:21:08 字數 2211 閱讀 3064

場景:

經常會遇到登入需要驗證碼這樣類似的情況

解決方案:

1.萬能驗證碼

2.利用cookies來實現,問開發哪個cookies值是登入後需要的,把這個值帶上即可

3.利用火狐瀏覽器的profile檔案來實現(首先需要手工登入一次,且勾選記住資訊)

4.手工輸入(需要輸入的地方sleep一會)

例項一:

1\獲取到cookies,取得登入的cookie

cookies = driver.get_cookies()

2\新增cookies,登入帳號

driver.add_cookie(cookie值)

獲取到cookies值

#

! /usr/bin/env python

#coding=utf-8

from selenium import

webdriver

import

time

driver =webdriver.firefox()

driver.get(

"")time.sleep(3)

driver.find_element(

"linktext

","登入

").click()

driver.find_element(

"name

","username

").send_keys("

13560459046")

driver.find_element(

"name

","password

").send_keys("

xr199122")

time.sleep(20)

#手動輸入驗證碼

driver.find_element("

id","

tangram__psp_10__submit

").click()

time.sleep(5)

#獲取cookies值

cookies =driver.get_cookies()

print

(cookies)

driver.quit()

#刪除cookies值

#driver.delete_all_cookies()

結果:[

, ,

, ,

, ,

, , , ]

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

#

! /usr/bin/env python

#coding=utf-8

from selenium import

webdriver

import

time

''''''

driver =webdriver.firefox()

driver.get(

"")time.sleep(3)

#設定cookies值,基本格式

c1 =

#新增cookies

driver.add_cookie(c1)

time.sleep(3)

#重新整理之後觀察是否已經登入成功

driver.refresh()

time.sleep(5)

driver.quit()

結果:

#

! /usr/bin/env python

#coding=utf-8

from selenium import

webdriver

import

time

'''自己的火狐瀏覽器的profile檔案路徑檢視方法

火狐瀏覽器-幫助-故障排除資訊-顯示資料夾

必須手工登入一次,並記住密碼之後再執行此**才可以

'''profile_ff = "

"fp =webdriver.firefoxprofile(profile_ff)

driver =webdriver.firefox(fp)

driver.get(

"")time.sleep(5)

driver.quit()

也可以實現免登入

SSH實現免密碼登入

因本人水平有限,文章中存在不足,錯誤之處,還望指正 在日常操作中,我們經常需要在遠端linux主機中使用ssh進行操作。來回輸入使用者名稱,密碼變得非常繁瑣,我們希望在操作中減少使用者名稱,密碼輸入的過程,這是我們就可以使用ssh來實現免密碼登入。步驟實驗環境 client redhat 6.3 s...

ssh實現免密登入

假設現在有兩台主機a和b,其中主機b有乙個使用者名叫caixiong,ip是22.33.44.55,現在想要實現ssh免密從主機a登入到主機b的caixiong使用者,只需要下面三步操作就可以完成。第一步 在主機a上生成公 私鑰對。如果之前已經生成過了金鑰對則跳過此步 ssh keygen t rs...

實現ssh免密登入

設定ssh無密碼登入可以提高我們主機的安全性。ssh 無密碼登入要使用公鑰與私鑰。linux下可以用ssh keygen生成公鑰 私鑰對,接下來以centos為例。例圖 實驗主機a無金鑰訪問主機b 實戰部分 主機cent65 192.168.1.65 主機cent67 192.168.1.67 現想...