A. 登錄linux伺服器時設置了交互菜單選擇你要登錄的系統,如何使用python編程實現自動化選擇要登錄的系統
1.程序怎麼判斷你期望的系統是哪個?
2.python可以實現自動登陸
3.難點在於,第一點
4.你准備使用什麼技術實現?
5.機器學習?人臉檢測?動作跟蹤?and so on ?
6.希望可以幫助,請採納,謝謝!
B. python介面自動化之token登錄
前言
有些登錄不是用cookie來驗證的,是用token參數來判斷是否登錄。
token傳參有兩種一種是放在請求頭里,本質上是跟cookie是一樣的,只是換個單詞而已;另外一種是在url請求參數里,這種更直觀。
一、登錄返回token
1.如下圖的這個登錄,無cookies
2.但是登錄成功後有返回token
二、請求頭帶token
1.登錄成功後繼續操作其它頁面,發現post請求的請求頭,都會帶token參數
2.這種請求其實比cookie更簡單,直接把登錄後的token放到頭部就行
三、token關聯
1.用腳本實現登錄,獲取token參數,獲取後傳參到請求頭就可以了
2.如果登錄有驗證碼,前面的腳本登錄步驟就省略了,自己手動登錄後獲取token
import requests
header = { # 登錄抓包獲取的頭部
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
"Accept": " / ",
"Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Accept-Encoding": "gzip, deflate",
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8",
"X-Requested-With": "XMLHttpRequest",
"Content-Length": "423",
"Connection": "keep-alive"
}
body = {"key1": "value1",
"key2": "value2"} # 這里賬號密碼就是抓包的數據
s = requests.session()
login_url = " http://xxx.login " #自己找帶token網址
login_ret = s.post(login_url, headers=header, data=body)
token = login_ret.json()["token"]
post_url = " http://xxx "
header["token"] = token
header["Content-Length"]="9"
body1 = {
"key": "value"
}
post_ret = s.post(post_url, headers=header, data=body1)
print post_ret.content
C. python+selenium自動化寫登錄腳本時,彈出的第三方登錄頁面該如何定位元素
importtime
defBai():
try:
browser=webdriver.Chrome()
browser.get(url)
wait=WebDriverWait(browser,10)
#定位網路登陸按鈕
browser.find_element_by_xpath('//*[@id="u1"]/a[7]').click()
time.sleep(5)
#qq登陸
browser.find_element_by_xpath('//*[@id="pass_phoenix_btn"]/ul/li[1]/a').click()
#切換至qq登陸窗口
time.sleep(5)
browser.switch_to.window(browser.window_handles[1])
#切換至賬戶密碼框
browser.switch_to.frame('ptlogin_iframe')
#賬戶登陸按鈕
browser.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
user=browser.find_element_by_id('u')
user.send_keys(賬戶)
password=browser.find_element_by_id('p')
password.send_keys(密碼)
browser.find_element_by_id('login_button').click()
browser.switch_to.window(browser.window_handles[0])
finally:
browser.close()
Bai()
D. appium + python編寫自動化腳本
之前一篇博客已經講述怎樣手動使用 appium-desktop啟動測試機上的app ,但我們實際跑自動化腳本的過程中,是需要用腳本調用appium啟動app的,接下來就嘗試寫Python腳本啟動app並登陸app。環境為Windows10 + Python3.7 + appium1.18.0 + Android手機 + 今日頭條app + Pycharm
具體的獲取方法請參考 APP自動化測試之appium連接真機啟動app ,配置信息如下:
appium在本機開啟的話則IP為127.0.0.1,埠默認為4723
我們會看到手機上今日頭條app被打開。
我們查看手機,會發現手機正在自動做登錄今日頭條的app操作,且登錄成功。
至此,我們通過編寫一個簡單的Python腳本完成了登錄app的操作,如果加上斷言,就是一條完整的用例。
E. 如何用python實現網頁自動登錄
這個你要用到BP,抓取數據包,通過分析數據包提交的表單,每次調用腳本的時候將表單進行提交,但一般這種可行比較低,看網頁的安全性做的如何,如果有驗證碼和token校驗的話你就不用試了。