最近测试一个网站经常需要不同的账号登录,自己手动输入太麻烦,于是做了一个Alfred workflows,可以作为Alfred执行本地脚本的模板。
Alfred部分:
只需要添加一个keyword和output(run script)即可:
具体实现:
使用python或者bash文件,执行在本地的自动登录python脚本,并将keyword里传入后半部分作为参数传给脚本。
Run Script界面:
自动登录的代码(也就是alfred里执行的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} #登录账号设置简单的映射
username = dict[para]
browser = webdriver.Firefox()
browser.get("http://xxxxx.com/") #目标网站
#打开登录框,输入用户名和密码,为了省事,我把自己所有测试账号的密码都设置成同一个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() #点击登录
print 'script success'
shechipin(sys.argv[1]) #传入的参数即为alfred代码里的'{query}'
以后,只需要在alfred窗口里输入 scp sj1
,即可用第一个手机号自动登录测试网站。