Python获取打印机读数(东芝泰格)
需求:
情况是这样的,公司的行政同事需要统计打印机的打印页数,公司也不原因花钱买打印管理软件,只能人肉一台台的去抄打印页数。一体机品牌是东芝泰格的,型号为TOSHIBA e-STUDIO2505AC 。如果打印机数量少的话,偶尔抽个时间还是可以将就的,要是打印机的数量上来的,这个工作就惊人了。
获取打印机读数的方式主要是通过登录web管理端,然后到指定的页面去获取打印机读数。
这个工作需要定期的去执行,行政同事找到了我,希望能想想办法。
分析:
既然客户找上门了,也不好意思拒绝。好在有Python在,这个问题不难。
通常的做法是通过Python去爬取指定的页面。分析了网页的源码后发现问题来了,python爬网后发现,获取的代码都是Javascript源码,根本不能从网页元素中获得对应的数值。笔者就想到了另外一个问题,之前希望通过Python对Cisco交换机爬网,也是这样的情况,获取了一大堆的javascript 代码,看来这个办法行不通了。于是,笔者转向了Selenium, 果然没有失望。
具体实现方法如下:
- 调试指定的浏览器是chrome, 下载对应版本的chromedriver,并放置在与python一同的目录下面。
- 通过python模拟登录后,又遇到另外一个问题,frameset, 这个网站是多个frameset套用,如果指定不正确的话,程序会返回无法找到空间的错误。
- 代码如下:
from selenium import webdriver
from time import sleep
browser=webdriver.Chrome()
browser.get('http://135.*.*.*/?MAIN=TOPACCESS') #登录打印机管理页面
print(browser.title) #确认是否正常登录
browser.switch_to.frame('TopLevelFrame')
sleep(3)
print('yes')
browser.switch_to.frame('Loginframe') #切换frameset
sleep(3)
print(browser.title)
print(browser)
browser.find_element_by_name('USERNAME').send_keys('admin')
browser.find_element_by_name('PASS').send_keys('123456')
sleep(3)
browser.find_element_by_name('Login').click() #自动点击Login登录
sleep(3)
print(browser.title) #确认是否登录成功
browser.switch_to.frame('TopLevelFrame')
sleep(3)
browser.switch_to.frame('topframe')
print("topframe")
sleep(3)
browser.find_element_by_id('COUNTER-anchor').click() #切换到指定的分类下面
print("Pass")
sleep(3)
browser.switch_to.default_content() #注意,多frameset情况下每次切换完需要重置
browser.switch_to.frame('TopLevelFrame')
browser.switch_to.frame('contents')
pages=browser.find_element_by_id('Print_Total_CopyCounter_Full').text #获取打印机指定值
print(pages)
browser.quit()
小结:
- 通过Python爬网,在无法直接通过网页元素获取值的情况下,推荐使用selenium. 代码执行过程中,可以关闭前台调试框。
- 多个frameset的情况下,切换一次后如果需要再次切换的话,需要重置一下浏览器。
这个方法对东芝泰格,富士施乐,思科设备都是适用的。
Python获取打印机读数(东芝泰格)相关推荐
- 使用Python获取Excel文件中单元格公式的计算结果
假设有如下Excel文件,其中第二个WorkSheet中数据如下: 其中D列为公式,现在要求输出该列公式计算的数值结果,代码如下: 代码运行结果: ----------相关阅读---------- 1 ...
- python获取指定单元格内容_python读取excel表格指定位置的内容
今天是第一次写博客,对之前学以致用的内容做一些总结,以备日后忘了或者可以给别人提供一些帮助.话不多说,开始写内容. python读取excel表格指定位置的内容 需求:现在有一个excel表格,里面有 ...
- python获取网络打印机状态_c#教程之C# 获取打印机当前状态的方法
要获得打印机的状态,应该定义一个联合. 复制代码 代码如下: enum PrinterStatus { 其他状态= 1, 未知, 空闲, 正在打印, 预热, 停止打印, 打印中, 离线 } 其中的&q ...
- 怎么用python读取csv文件、并且是读取行-使用python获取csv文本的某行或某列数据的实例...
站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存 ...
- python csv读取-使用python获取csv文本的某行或某列数据的实例
站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存 ...
- Python处理Excel表中单元格带有换行的数据
Python处理Excel表中单元格带有换行的数据 文章目录 Python处理Excel表中单元格带有换行的数据 问题样式 实例问题 实例实现代码 实例结果 问题样式 在数据处理过程中常常会遇到这样一 ...
- c 语言获取系统时间并打印机,C# 获取打印机当前状态的方法
C# 获取打印机当前状态的方法 要获得打印机的状态,应该定义一个联合. 复制代码 代码如下: enum PrinterStatus { 其他状态= 1, 未知, 空闲, 正在打印, 预热, 停止打印, ...
- python 3d打印机_如何使用Python构建自己的CNC控制器和3D打印机
python 3d打印机 by Nikolay Khabarov 通过尼古拉·哈巴罗夫(Nikolay Khabarov) 如何使用Python构建自己的CNC控制器和3D打印机 (How you c ...
- Python 把图片拆分成宫格图片组
文章目录 Python 把图片拆分成宫格图片组 Python 把图片拆分成宫格图片组 import os from PIL import Image# 所需安装的模块 # pip install pi ...
- Python中xlrd操作excel单元格
学习目标 Python中xlrd操作excel单元格 学习内容 1.获取工作表 sheet=data.sheet_by_index(0) 2.返回单元格对象 sheet.cell(1,2) #返回第二 ...
最新文章
- 基础知识——测试代码(七)
- 2017杭州·云栖大会第二天:阿里云发布了这些“黑科技”
- 常见的基于node.js的web框架
- python tableview绑定字典_TableView索引的添加
- 7-68 阶乘计算 (15 分)
- EFCore动态切换Schema
- LeetCode-best time to buy and sell stock 1 数组
- python request timeout_Python - aiohttp请求不断超时(Python - aiohttp requests continuously time out)...
- SPH(光滑粒子流体动力学)流体模拟实现:算法总览
- mondrian olap 示例_详解OLAP概念、基本内容、特点、分类
- Exception in thread main java.lang.NoClassDefFoundError解决了
- C++ string()什么意思
- C语言w10输入法打不出中文,win10系统输不了中文怎么办
- 笔记-SIM900A模块开发:GPRS建立TCP连接与服务器进行数据传输
- 美团java后端面试题目_美团笔试题(Java后端5题2小时)
- 云计算业务优势扩大,阿里云业务持续高速增长
- html采集电脑信息,网页数据采集入门词汇介绍 - 八爪鱼采集器
- 金属学复习【5】--- 金属及合金的塑性变形与再结晶
- 沟通失败是怎样造成的
- JavaScript—箭头函数
热门文章
- 计算机高特效吃鸡游戏主机配置单,畅玩主流游戏吃鸡LOL组装电脑配置清单
- 多台欧姆龙PLC通过智能网关实现HTTP协议对接MES系统
- docker源码编译安装步骤解析
- iPhone XS Max A2101(D3XP X1048 MLB P1 D33P) 820-01225 苹果手机点位图
- 计算机管理如何格式化u盘,u盘无法格式化?0字节?教你5种方法格式化u盘,超简单!...
- 基于微信小程序校内论坛系统设计与实现(毕业设计论文+数据库脚本+源码+答辩ppt)
- Flutter框架优缺点
- [免费专栏] Android安全之Android工程模式
- 像中文的罗马音字体复制_帮我把日语的罗马音弄成汉字!
- 详解IT服务管理(ITSM)流程五阶段