近測試一個網(wǎng)站經(jīng)常需要不同的賬號登錄,自己手動輸入太麻煩,于是做了一個Alfred workflows,可以作為Alfred執(zhí)行本地腳本的模板。
Alfred部分:
只需要添加一個keyword和output(run script)即可:
具體實(shí)現(xiàn):
使用python或者bash文件,執(zhí)行在本地的自動登錄python腳本,并將keyword里傳入后半部分作為參數(shù)傳給腳本。
Run Script界面:
自動登錄的代碼(也是alfred里執(zhí)行的shechipin.py腳本):
#encoding=utf-8
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.keys import Keys
import time
import sys
def shechipin(para):
dict = {"sj1":138xxxxxx,"sj2":xxxxxxx,"sj3":1851xxxx} #登錄賬號設(shè)置簡單的映射
username = dict[para]
browser = webdriver.Firefox()
browser.get("http://xxxxx.com/") #目標(biāo)網(wǎng)站
#打開登錄框,輸入用戶名和密碼,為了省事,我把自己所有測試賬號的密碼都設(shè)置成同一個111111
browser.find_element_by_xpath(".//*[@id='head']/div[1]/div/a/span[1]").click()
browser.find_element_by_id("session_phone_number").send_keys(username)
browser.find_element_by_id("session_password").send_keys("111111")
browser.find_element_by_xpath(".//*[@id='login_form']/div[3]/input").click() #點(diǎn)擊登錄
print 'script success'
shechipin(sys.argv[1]) #傳入的參數(shù)即為alfred代碼里的'{query}'
以后,只需要在alfred窗口里輸入 scp sj1 ,即可用第一個手機(jī)號自動登錄測試網(wǎng)站。