使用Alfred+selenium定制网站登录脚本


最近测试一个网站经常需要不同的账号登录,自己手动输入太麻烦,于是做了一个Alfred workflows,可以作为Alfred执行本地脚本的模板。


Alfred部分:
只需要添加一个keyword和output(run script)即可:


使用Alfred+selenium定制网站登录脚本_第1张图片
9FDE1437-CF34-4060-9F30-7BF08FF49428.png

具体实现:
使用python或者bash文件,执行在本地的自动登录python脚本,并将keyword里传入后半部分作为参数传给脚本。

Run Script界面:


使用Alfred+selenium定制网站登录脚本_第2张图片
11.png

自动登录的代码(也就是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 ,即可用第一个手机号自动登录测试网站。

你可能感兴趣的:(使用Alfred+selenium定制网站登录脚本)