selenium的安装很简单,或者说无需安装。如果需要录制脚本,可以下载Firefox的插件selenium IDE;写python的自动化,则只需要安装Language Bindings(pip install selenium),然后下载对应浏览器的drivers即可(windows平台上的driver都是.exe程序,统一放到某一目录下然后将目录路径加入path即可),操作起来还是蛮方便的,就是在什么时候用什么接口有些不好把握。
今天的测试对象是家里的电信路由器,先看一下登录界面和相关元素:
登录界面很简单,就是两个输入框和一个登录按钮,查看源码,获取对应的元素信息:
可以看到两个输入框的id分别是login_username和login_password,按钮没有id,只有tag,type,class和文本。根据这三个内容,编写脚本如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
from selenium import webdriver import time browser = webdriver.Chrome() browser.get('http://192.168.1.1') elem_user = browser.find_element_by_id('login_username') elem_pw = browser.find_element_by_id('login_password') elem_btn = browser.find_element_by_tag_name('button') elem_user.send_keys('******') elem_pw.send_keys('******') elem_btn.click() time.sleep(10) browser.close() browser.quit() |
发送的用户名和密码替换成自己的内容,执行脚本,可以看到成功登陆了路由器:
这样,破解酒店里的路由管理是不是又多了一道方法呢!