最近工作需要,利用华为路由器和TP-Link交换机,临时搭建了一个基于4G网络的局域网,为了可以在后台及时将流量断开节省流量,特别研究了一下pyhon中对浏览器的模拟。

模拟架构是 python + selenium + EdgeDriver/PhandomJS

其中,Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等。

python 的Selenium支持包 可以直接在CMD中运行以下命令来完成安装:

python -m pip install selenium

或者,在以下链接下载安装:https://pypi.python.org/pypi/selenium

解压,cmd进入目录:

C:\selenium\selenium2.53.5> python3 setup.py install

Linux系统类似。

PhandomJS简介:

(1)一个基于webkit内核的无头浏览器,即没有UI界面,即它就是一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现。

(2)提供javascript API接口,即通过编写js程序可以直接与webkit内核交互,在此之上可以结合java语言等,通过java调用js等相关操作,从而解决了以前c/c++才能比较好的基于webkit开发优质采集器的限制。

(3)提供windows、linux、mac等不同os的安装使用包,也就是说可以在不同平台上二次开发采集项目或是自动项目测试等工作。

简单来说,PhandomJS就是一个没有界面的浏览器,它可以帮助python完成浏览器需要完成的工作。

至此,我们就可以干活了,但PhandomJS没有界面也限制了我们进行实时调试。

为了辅助进行调试,我们需要安装一个浏览器的driver,我主机用的是win10 系统的Edge浏览器,在微软官方网站有Edge webdriver的下载链接,下载好就是一个exe文件,添加到系统的PATH环境变量中,或者和编写的py脚本放在同一个目录下,就OK了。

Edge webdriver的下载链接:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

有了它,我们可以用脚本网上冲浪了!

先上代码:

import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChainsdef main():
#driver = webdriver.Edge()driver = webdriver.PhantomJS(executable_path="phantomjs.exe")driver.get("http://192.168.20.1/html/home.html")elem_login_edge = driver.find_element_by_id("logout_span")elem_login_edge.click()driver.find_element_by_id("username").send_keys("admin")driver.find_element_by_id("password").send_keys("qatest")driver.find_element_by_id("pop_login").click()print("waiting for login...")time.sleep(2)print("OK!")driver.find_element_by_id("mobile_connect_btn").click()#driver.quit()if __name__ == '__main__':main()

简单解释下,首先调用一个浏览器的driver,可以是我们调试用的Edge webdriver也可以是PhantomJS模拟浏览器,当然也可以用Firefox和Chrome的对应driver。

driver.get() 调用路由器登录界面。定位到登录按钮,登录按钮的HTML代码的id栏是logout_span,所以用find_element_by_id("ID")可以定位到该按钮。click()方法模拟鼠标单击,现在浏览器已经打开了登录界面,重新在HTML代码中分别定位 username和password,并调用send_keys()方法可以将用户名和密码填入文本框中。

最后定位登录按钮(pop_login),并单击,就完成了模拟登录的过程。

一开始并没有添加sleep指令,结果内核解析不到链接控制按钮,这里让系统等待2秒和web交互,然后就可以定位到这个按钮了,单击即可连接或者断开4G网络。

整体来讲还是比较简单的,对于这种JS框架进行登录的模式,用模拟浏览器的方式比较方便,但实际操作中,感觉效率一般,内核加载似乎时间比较长。

python登录华为路由器相关推荐

  1. key位置 win10生成的ssh_华为路由器配置SSH远程登录,就这么简单

    SSH(Secure Shell)是一套协议标准,可以用来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是非对称加密. SSH远程登录华为路由器 SSH是在传统的Telnet协议之 ...

  2. 华为手机linux连接网络设置ip地址,华为路由器(Huawei)默认登录IP地址是多少

    本站收集了华为路由器所有的登录地址:路由器登录地址可以登录到路由器的管理界面,然后设置路由器各项参数,如果你使用的是华为路由器,请在以下列表中找到路由器的登录地址. 华为IP地址列表 10.0.0.1 ...

  3. 【收藏】华为路由器交换机配置命令大全

    华为路由器交换机配置命令:计算机命令 PCAlogin:root;使用root用户 password:linux;口令是linux #shutdown-hnow;关机 #init0;关机 #logou ...

  4. 华为6p连接计算机设置在哪里设置密码,华为路由器和华为手机如何不用密码连接...

    有时候我们也会忘记自己家的WIFI密码,非常尴尬.其实我们可以通过从华为路由器层面将密码取消掉或者设置白名单免密链接.你也可以通过华为手机的EMUI系统进行免密连接. 华为路由器和华为手机如何不用密码 ...

  5. 华为路由器交换机配置命令

    华为路由器交换机配置命令:计算机命令 PCAlogin:root:使用root用户 password:linux:口令是linux shutdown-hnow:关机 init0:关机 logout:用 ...

  6. 修改华为路由器lan端口

    使用vpn连接公司网络后,网段发生冲突 http://192.168.3.1/登录华为路由器界面设置(wifi连上),将3改为4

  7. 路由器运行python脚本_写个Python脚本来登录小米路由器

    这个脚本写起来难度并不是很大,博主还是一步步的分析下,这样思路会比较清晰,下次遇到类似系统脚本写起来也更快速.好了,一起来分析分析. 首先看下小米路由器的登录界面 可以看到只需要输入密码即可登录,博主 ...

  8. 华为路由器console口加密 telnet远程登录 DHCP server在路由器中的两种写法

    console口加密 方法一 [Huawei]user-interface console 0 [Huawei-ui-console0]authentication-mode password Ple ...

  9. 华为路由器/交换机配置telnet,ssh远程登录

    华为路由器/交换机配置telnet,ssh远程登录 文章目录 华为路由器/交换机配置telnet,ssh远程登录 1. Telnet 1.1 新建账号 1.2 配置远程访问 1.3 客户端远程访问 1 ...

  10. 计算机ip地址和用户名和密码是什么,华为路由器登录入口用户名和密码是多少...

    许多朋友不知道华为路由器的默认访问地址:如果你要设置你的华为路由器,你需要访问华为路由器的Web界面进行配置,就需要使用到路由器的IP地址. 由于有些人的路由器可能之前被设置过,就无法通过默认的IP地 ...

最新文章

  1. 【组队学习】【32期】李宏毅机器学习(含深度学习)
  2. easyre-153 testre寒假逆向生涯(13/100)
  3. 互联网企业安全高级指南3.5 选择在不同的维度做防御
  4. [SDK2.2]Windows Azure Storage (16) 使用WCF服务,将本地图片上传至Azure Storage (上) 客户端代码...
  5. 分布式监控系统开发【day38】:报警阈值程序逻辑解析(三)
  6. mysql 隐式转换 索引_MySQL性能优化:MySQL中的隐式转换造成的索引失效
  7. CCF中国计算机学会推荐国际学术期刊与会议
  8. 【数学分析新讲 笔记】第一章 实数
  9. prince2 成功的项目管理_清晖公开课受控环境下的项目管理PRINCE2认证培训(北京)...
  10. win10计算机无访问权限,win10系统提示无internet访问权限怎么办
  11. 北京大学计算机学院刘利,信息科学学院 科研动态 深化新文科计算机教学改革,实施分类分层次教学体系研讨会在京召开...
  12. 微信电脑版多用户登录
  13. acwing.95.费解的开关
  14. 一图看懂Python生态圈图像格式转换
  15. 2007年中国邮政贺年(有奖)明信片开奖了~~
  16. r语言中mpg数据_R语言数据分析系列之五
  17. 最主流的五个大数据处理框架的优势对比
  18. VUE + tiff.js 加载 tiff,tif 图片
  19. unzip和zip指令的使用方法
  20. 谷歌逐梦穿戴圈:Wear OS的失败能够靠Pixel Watch挽回吗?

热门文章

  1. python练习题之乌龟吃鱼游戏
  2. C语言文件操作FILE文件指针fopen文件打开操作
  3. ps裁剪和裁切的区别_ps里裁剪和裁切有什么不一样啊?
  4. 数字转为汉语中人民币的大写
  5. PostgreSql对比MySQL优势
  6. 开机启动时间计算机,Windows系统更改开机启动时间三种方法
  7. 软电话HTML界面,软电话条对接
  8. VMware安装deepin
  9. 射线检测C语言,Unity - Raycast 射线检测
  10. C#网络编程之基础语法 网络流(NetworkStream) 文本流(Stream) 文件流(Filestream )