python |
您所在的位置:网站首页 › 自动化巡检记录表 › python |
文章目录
巡检自动化一、应用自动化网页应用方面网页自动化准备打开网页截图接口推送图片文本
启动脚本遇到问题网页操作账号密码
二、整体代码巡检维格表
巡检自动化
一、应用自动化
网页应用方面
分为三步:第一步实现网页自动化打开,登录到需巡检的界面,第二步通过截图,保存巡检时状态图,第三步通过接口推送至手机app如企业微信,钉钉等。 网页自动化 准备第一:selenium环境部署和定位学习:https://blog.csdn.net/qq_54219272/article/details/123310772 第二:selenium使用:https://blog.csdn.net/qq_54219272/article/details/123338773 第三:快速下载vscode: https://blog.csdn.net/thlchina/article/details/113940283 补充: Microsoft Edge浏览器驱动安装:打开文件所在位置,可以直接看到版本,再到https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver下载对应驱动(接近版本号即可) 打开网页需要提前完成两步: 第一步:完成python、selenium环境部署 第二步:完成浏览器驱动安装 详见:https://blog.csdn.net/qq_54219272/article/details/123310772 # 1、导包/提供python的库 from time import sleep from selenium import webdriver # 2、实例化浏览器对象:类名() driver = webdriver.Chrome() # 3、打开网址(此处可以替换你要巡检的网页) driver.get('https://www.bilibili.com/') # 4、操作命令插入到这里 # 5、时间轴看效果,等待3秒 sleep(3) # 6、关闭页面 driver.quit() 截图使用方法: driver.get_screenshot_as_file(imgepath) #参数: # imagepath:为图片要保存的目录地址及文件名称 #截图方法,建议使用png格式 , ./为当前路径, ../为上一级路径,如('./info.png')加入到代码中 # 1、导包/提供python的库 from time import sleep from selenium import webdriver # 2、实例化浏览器对象:类名() driver = webdriver.Chrome() # 3、打开网址(此处可以替换你要巡检的网页) driver.get('https://www.bilibili.com/') # 4、操作命令插入到这里 # 4.1、截图 driver.get_screenshot_as_file('./a.png') # 5、时间轴看效果 sleep(3) # 6、关闭页面 driver.quit() 接口推送企业微信接口文档 图片插曲:出现如下报错【TypeError:Object of type bytes is not JSON】 借鉴的文章:https://blog.csdn.net/xyl342300/article/details/109954038,不要轻易运行,不然很容易尴尬 插曲2: 插曲3: 通过企业微信接口文档-发送文本写出data={ }部分的信息 import requests # 10、企业微信机器人发送消息:文本消息 url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1bd9d632-1f3b-445d-98e8-429a1d7415ca" headers = {"Content-Type": "text/plain"} data = { "msgtype": "text", "text": { "content" : "监控平台界面:正常标准为无异常告警" } } r = requests.post(url, headers=headers) print(r.text)存在报错 成功发送 一、bat写法 @C:\Users\18826\AppData\Local\Programs\Python\Python38\python.exe C:\Users\18826\Desktop\patrol\renwu.py %*上述路径是自身py所在的文件夹决定的,如下图 二、window自带的定时任务,需要注意以下更改点 ![]() ![]() 以上满足常规巡检 以下是对维格表尝试登录,但是失败的案例 网页操作若需对网页进行操作,需学习: 1、利用元素定位进行网页操作 2、了解浏览器、键盘、鼠标操作 详见:https://developer.work.weixin.qq.com/tutorial/detail/54 常用命令如下: driver.maximize_window() # 最大化浏览器加入到代码中 # 1、导包/提供python的库 from time import sleep from selenium import webdriver # 2、实例化浏览器对象:类名() driver = webdriver.Chrome() # 3、打开网址(此处可以替换你要巡检的网页) driver.get('https://www.bilibili.com/') # 4、操作命令插入到这里 # 4.1、截图 driver.maximize_window() # 最大化浏览器 # 5、时间轴看效果 sleep(3) # 6、关闭页面 driver.quit() 账号密码此处引入登录维格表,截图发群里通知人执行工作 插曲1: pip uninstall selenim pip install selenim==4.1.0
顺利切换到如下界面 最后,点击确认 但是,最后维格表有防范机制,点击确认后,还是不算登录成功,哭哭 二、整体代码 巡检 # 1、导包/提供python的库 from time import sleep from selenium import webdriver # 2、实例化浏览器对象:类名() driver = webdriver.Chrome() # 3、打开网址(此处可以替换你要巡检的网页) driver.get('http://172.16.1.33:3000/d/WojOgXTmk/00-gao-jing-zhong-xin?orgId=1&refresh=5s') # 4、时间轴看效果 sleep(6) # 5、操作命令插入到这里 driver.get_screenshot_as_file('./a.png') #截图 driver.maximize_window() # 最大化浏览器 # 6、关闭页面 driver.quit() import requests import base64 import hashlib # 7、图片base64码:提供给企业微信发送图片信息所需 with open("./a.png", "rb") as f: base64_data = base64.b64encode(f.read()).decode() # base64.b64decode(base64data) print(base64_data) # 8、图片的md5值 file = open("./a.png", "rb") md = hashlib.md5() md.update(file.read()) res1 = md.hexdigest() print(res1) # 9、企业微信机器人发送消息:提供给企业微信发送图片信息所需 url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1bd9d632-1f3b-445d-98e8-429a1d7415xx" headers = {"Content-Type": "text/plain"} data = { "msgtype": "image", "image": { "base64": base64_data, "md5": res1 } } r = requests.post(url, headers=headers, json=data) print(r.text) 维格表 # 1、导包/提供python的库 from time import sleep from selenium import webdriver from selenium.webdriver import ActionChains # 2、实例化浏览器对象:类名() driver = webdriver.Chrome() # 3、打开网址(此处可以替换你要巡检的网页) driver.get('https://vika.cn/workbench/mirPTLa3fERa5Vt3Jt/dstyWW2rd6RgoKBxml/viwPVtNmkrHSC') # 4、时间轴看效果 sleep(5) # 5、操作命令插入到这里 # 5.1、最大化 driver.maximize_window() # 最大化浏览器 # 5.2、截图 driver.get_screenshot_as_file('./a.png') # 5.3、鼠标单击切换到账号密码登录界面 # 5.3.1、点击“手机/邮件登录”按钮 # 定位目标 ele = driver.find_element_by_xpath('//*[@id="VIKA_LOGIN"]/div[1]/div/button/span') # 实例化 鼠标对象 action = ActionChains(driver) # 鼠标单击 action.click(ele) # 鼠标执行操作!!!不执行没效果 action.perform() # 5.3.2、点击“密码登录”按钮 # 定位目标 ele = driver.find_element_by_xpath('//*[@id="VIKA_CHANGE_MODE_BTN"]/span') # 实例化 鼠标对象 action = ActionChains(driver) # 鼠标单击 action.click(ele) # 鼠标执行操作!!!不执行没效果 action.perform() # 5.4、输入账号密码 ele = driver.find_element_by_xpath('//*[@id="VIKA_LOGIN_PHONE_INPUT"]') ele.send_keys('18826227807') ele = driver.find_element_by_xpath('//*[@id="VIKA_LOGIN_PASSWORD_INPUT"]') ele.send_keys('Stqer686') # 5.5、点击“确认”按钮 # 定位目标 ele = driver.find_element_by_xpath('//*[@id="VIKA_LOGIN"]/div[1]/div/button/span') # 实例化 鼠标对象 action = ActionChains(driver) # 鼠标单击 action.click(ele) # 鼠标执行操作!!!不执行没效果 action.perform() # 6、时间轴看效果 sleep(20) # 7、关闭页面 driver.quit() import requests import base64 import hashlib # 8、图片base64码:提供给企业微信发送图片信息所需 with open("./a.png", "rb") as f: base64_data = base64.b64encode(f.read()).decode() # base64.b64decode(base64data) print(base64_data) # 9、图片的md5值 file = open("./a.png", "rb") md = hashlib.md5() md.update(file.read()) res1 = md.hexdigest() print(res1) # 10、企业微信机器人发送消息:提供给企业微信发送图片信息所需 url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1bd9d632-1f3b-445d-98e8-429a1d7415ca" headers = {"Content-Type": "text/plain"} data = { "msgtype": "image", "image": { "base64": base64_data, "md5": res1 } } r = requests.post(url, headers=headers, json=data) print(r.text) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |