让我首先向您展示Java工具栏的屏幕截图。出于专有原因,我无法为您提供网站的网址。这是屏幕截图:
现在,重点是单击“惊叹号”按钮。我在这里使用Python。我也确定硒无法检测到它,因为它是一个工具栏,并且不存在相应的html。我试图在这里使用AutoIT,但其查找工具未检测到它。我不想在这里使用Sikuli之类的脚本,因为它的不稳定性将是一个大胆的尝试。
有人可以在这方面帮助我吗?
答案 0 :(得分:3)
我不想在这里使用Sikuli之类的脚本,因为它的不稳定性将是一个大胆的尝试。
我使用看图desktop automation,发现它的视觉自动化非常稳定-即使在机器之间移动脚本时也是如此。使用Kantu,解决方案很容易:
XClick | image of button here
或(使用OCR文本识别)
XClick | ocr=LEX
其中“ LEX”将是按钮图标上的文本(正如我在您的屏幕截图中所看到的)。您可以通过command line启动Kantu,因此可以轻松地在Python中使用它。基本上,所有操作都是使用一个特殊的本地网站打开浏览器:
args = r'file:///' + path_autorun_html + '?macro=' + macro + '&cmd_var1=' + var1 + '&cmd_var2=' + var2 + '&cmd_var3=' + var3 + '&closeKantu=0&direct=1&savelog=' + log
proc = subprocess.Popen([browser_path, args])
编辑:为进一步说明这一点,Kantu不是python软件包,而是开源browser extension,并扩展了locally installed "xmodule"应用程序以获取桌面屏幕截图并控制鼠标和键盘。本地应用可用于Mac,Windows和Linux。
所以您需要做的是:
Install Kantu和XModules
Create是Kantu中的一个小宏。在您的情况下,此宏只能是一个命令XClick | ocr=LEX
。保存宏e。 G。使用“ ClickButton”
一旦宏正常工作,您就可以通过command line从Python 启动Kantu和“ ClickButton”宏。
答案 1 :(得分:0)
对于这类问题,我通常使用 pyautogui
来解决。以下是文档:https://pyautogui.readthedocs.io/en/latest/
此代码将在屏幕上找到图像并将鼠标移至图像中心:
Map<String, String> connection = {
"grant_type": "string",
"branchcode": "string",
"password": "string",
"username": "string",
"dbname": "string",
"dbuser": "string",
"dbpassword": "string",
"dbtype": "string"
};
Uri apiUrl = Uri.http("192.168.1.23:7070", "/api/v2/token",connection);
HttpClientRequest request = await new HttpClient().getUrl(apiUrl);
HttpClientResponse response = await request.close();
Stream resStream = response.transform(utf8.decoder);
await for(var apiKey in resStream){
print(apiKey);
}
}
我听说有些人使用OpenCV获得了更好的结果,但是您可以随时进行测试