自動化操作腳本

文章目錄

  • vbs
  • openCV + pyautogui


vbs

SSH連接并執行指令操作

Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run "cmd.exe"
WScript.Sleep 1000
WshShell.SendKeys "ssh xcmg@10.27.40.103"
WshShell.SendKeys "{ENTER}"
WScript.Sleep 1000
WshShell.SendKeys "123"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "cd agv_1 && xmake run"
WshShell.SendKeys "{ENTER}"

MQTT服務器啟動

Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run "cmd.exe"
WScript.Sleep 1000
WshShell.SendKeys "C:\Users\USER\emqx-5.3.0-windows-amd64\bin\emqx start"
WshShell.SendKeys "{ENTER}"
Dim WshShell 
Set WshShell=WScript.CreateObject("WScript.Shell") WshShell.Run "cmd.exe"
WScript.Sleep 1000
WshShell.SendKeys "D:"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "cd D:\Program Files {(}x86{)}\work\emqx\bin"
WshShell.SendKeys "{ENTER}"
WshShell.SendKeys "emqx start"
WshShell.SendKeys "{ENTER}"

openCV + pyautogui

import cv2
import numpy as np
import pyautogui
import time# 捕獲屏幕的函數
def capture_screen():image = pyautogui.screenshot()image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)return image# 尋找目標圖像的函數
def find_target(screen, target, threshold=0.8):result = cv2.matchTemplate(screen, target, cv2.TM_CCOEFF_NORMED)_, max_val, _, max_loc = cv2.minMaxLoc(result)if max_val > threshold:return max_locreturn None# 點擊目標的函數
def click_target(target_image_path, waiting_time=5):# 等待程序加載或窗口出現time.sleep(waiting_time)target_image = cv2.imread(target_image_path)screen = capture_screen()target_location = find_target(screen, target_image)if target_location:# 計算圖標的中心位置并點擊target_center = (target_location[0] + target_image.shape[1]//2, target_location[1] + target_image.shape[0]//2)pyautogui.click(target_center)return Truereturn False# 主函數
def main():# 點擊與軟件鏈接的文件if not click_target('path_to_file_icon.jpg'):print("Failed to find the file icon.")return# 等待軟件啟動并點擊軟件界面中的按鈕if not click_target('path_to_software_button.jpg', waiting_time=10):print("Failed to find the button in the software.")return# 點擊新窗口中的按鈕if not click_target('path_to_new_window_button.jpg', waiting_time=5):print("Failed to find the button in the new window.")returnprint("Operation completed successfully.")if __name__ == "__main__":main()

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207438.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207438.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207438.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

xxl-job詳解

目錄 1、xxl-job介紹1.1 xxl-job的原理1.1.1 執行器的注冊和發現1.1.2 調度中心調用執行器 1.2 quartz和xxl-job對比 2、快速入門2.1 下載并啟動2.2 在調度中心新增定時任務2.3 任務運行模式(BEAN、GLUE)2.4 xxl-job的總結 3、后端專屬技術群 1、xxl-job介紹 ? xxl-job是一個…

Python源碼30:海龜畫圖turtle畫紫色的小熊

turtle模塊是一個Python的標準庫之一,它提供了一個基于Turtle graphics的繪圖庫。Turtle graphics是一種流行的繪圖方式,它通過控制一個小海龜在屏幕上移動來繪制圖形。 turtle模塊可以讓您輕松地創建和控制海龜圖形,從而幫助您學習Python編…

Qt12.8

使用手動連接,將登錄框中的取消按鈕使用qt4版本的連接到自定義的槽函數中,在自定義的槽函數中調用關閉函數 將登錄按鈕使用qt5版本的連接到自定義的槽函數中,在槽函數中判斷ui界面上輸入的賬號是否為"admin",密碼是否為…

lv11 嵌入式開發 中斷控制器14

目錄 1 中斷控制器 ?編輯 2 Exynos4412下的中斷控制器 2.1 概述 2.2 特征 ?編輯 2.3 中斷狀態 2.4 中斷類型 2.5 中斷控制器GIC中斷表 3 中斷控制器寄存器詳解 3.1 ICDDCR(Interrupt Controller Distributor Control Register) 3.2 ICDISER…

當你還在糾結用什么技術時,這位獨立開發者用PHP和JavaScript實現財務自由了

大家好,我是風箏,微信搜「古時的風箏」,更多干貨 一個個人產品賣了5400萬,這大概就是最成功的獨立開發者了吧 這位獨立開發者是 levelsio,他的真名是 Pieter Levels,是一位荷蘭的獨立開發者。看看人家的工…

WPF DataGrid 動態增加列

方式一:通過DataGrid 數據源即DataTable,在DataTable里面動態增加了列之后,重新構造每一行數據,設置DataGrid.ItemsSource null; 然后再重新設置ItemsSource到DataTable public partial class MainWindow : Window{public MainWi…

【Java基礎系列】Cron表達式入門

💝💝💝歡迎來到我的博客,很高興能夠在這里和您見面!希望您在這里可以感受到一份輕松愉快的氛圍,不僅可以獲得有趣的內容和知識,也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

優秀案例 | 元宇宙雙語財經科技主播“舒望”主持首屆粵港澳大灣區元宇宙國際傳播論壇

12月6日,由南方財經全媒體集團指導、大灣區元宇宙國際傳播實驗室(GBA MIC Lab)主辦、南財國際傳播中心和21世紀經濟報道共同承辦,以“多元共創開放共享”為主題的首屆粵港澳大灣區元宇宙國際傳播論壇在廣州隆重開幕。 “立足灣區,…

Kubernetes - 為什么 K8S 在容器里不能調用自己?

問題描述 最近遇到一個神奇的現象,在 K8S 的 POD 容器中,比如 pod name:mini-appnamespace:devport:5050 那么,是無法在 mini-app 容器里執行以下命令,如果執行,會一直卡在這條命…

一文詳解Java單元測試Junit

文章目錄 概述、Junit框架快速入門單元測試概述main方法測試的問題junit單元測試框架優點:使用步驟: 使用案例包結構 Junit框架的常見注解測試 概述、Junit框架快速入門 單元測試概述 就是針對最小的功能單元(方法),…

ROS rosbag

在ROS中的rosbag是一個命令行工具,主要用于記錄、回放和分析rostopic中的數據。它可以將指定rostopic中的數據記錄到.bag后綴的數據包中,以便于進行離線分析和處理。 在ROS系統中,rosbag可以通過命令行工具或ROS節點來使用。 通過rosbag命令…

數字圖像處理(實踐篇)十九 漫水填充

目錄 一 漫水填充算法--FloodFill 二 涉及的函數 三 實踐 一 漫水填充算法--FloodFill FloodFill漫水填充算法就是選中與種子點相連接的區域,利用指定顏色進行區域顏色填充。可以通過設置連通方式或像素的范圍控制填充的效果。通常是用來標記或者分離圖像的一部…

進程地址空間

引入地址空間 靜態變量和棧空間變量 靜態變量默認是被初始化的 存放在初始化和為初始化空間中 static已經變成了全局變量 命令行參數和環境變量的增長方向 這里觀察的是命令行參數和環境變量的地址 觀察命令行和環境變量表的地址 進程地址空間 如果他們是同一塊兒空間&am…

Ubuntu22.04 交叉編譯fdk-aac for Rv1106

一、下載fdk-aac git clone https://github.com/mstorsjo/fdk-aac.git 二、編譯 mkdir build cd buildcmake -DCMAKE_CXX_COMPILER/opt/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g -DCMAKE_C_COMPILER/opt/arm-rockchip830-linux-…

軟件測試——集成測試

集成測試是在單元測試之后,將各個獨立單元(通常是已經通過單元測試的模塊或組件)組合在一起,測試它們在一起協同工作的過程。以下是進行集成測試的一般步驟和最佳實踐: 1. 明確定義集成測試的目標 確定集成測試的目標…

麒麟v10 數據盤初始化 gpt分區

麒麟v10 數據盤初始化 gpt分區 1、查看磁盤 lsblk2 、分區 parted2.1、 設置磁盤分區形式2.2、 設置磁盤的計量單位為磁柱2.3、 分區2.4、 查看分區 3、分區格式化4、 掛載磁盤4.1、新建掛載目錄4.2、掛載磁盤4.3、查看掛載結果 5、設置開機自動掛載磁盤分區5.1、 查詢磁盤分區…

ClamAV開源病毒庫使用例子

ClamAV是一個開源的反病毒引擎,用于檢測惡意軟件和病毒。ClamAV提供了一個名為cl_scanfile的函數,用于掃描單個文件是否包含病毒。以下是一個使用cl_scanfile函數的示例代碼: 首先,確保已經安裝了ClamAV庫。在Debian/Ubuntu系統中…

用AI來糾正錯別字和修飾文字

▲ 搜索“大龍談智能內容”關注GongZongHao▲ 在使用谷歌翻譯或百度翻譯將英語翻譯成中文時,有些句子讀起來不太流暢。我嘗試使用AI來幫助我修改翻譯后的中文,希望能讓句子更符合中文習慣。 使用百度文心一言嘗試一下。 文心一言的鏈接是這個&#x…

VUE3給table的head添加popover篩選、時間去除時分秒、字符串替換某字符

1. VUE3給table的head添加popover篩選 <el-tableref"processTableRef"class"process-table"row-key"secuId":data"pagingData"style"width: 100%"highlight-current-row:height"stockListHeight":default-exp…

RHEL/CentOS的firewalld防火墻服務配置

從 RHEL/CentOS 7開始&#xff0c;使用新的防火墻服務——firewalld。這里介紹該防火墻服務的基本用法 一、防火墻服務管理&#xff1a;從 RHEL/CentOS 7開始采用Systemd作為新的系統管理器&#xff0c;而systemctl則是Systemd中用于管理服務的命令 # 啟動防火墻服務 systemct…