iMacro查找元素 我正在编写一个C++ iMaRo脚本,它将登录到一个网站,转到一个特定的页面,并寻找一个复选框。如果复选框不存在,则脚本将每X秒刷新一次页面。如果该复选框确实存在,则它将选中该复选框。基本上,我只需要弄清楚如何让iMacro搜索复选框。以下是我目前的代码: using namespace System; #include <string> int timeout = 60; ref class ManagedGlobals { public: static iMacros::AppClass^ app; }; // test if element exists bool doesElementExist() { iMacros::Status stat; ManagedGlobals::app->iimDisplay("Searching for element", timeout); stat = ManagedGlobals::app->iimPlay("CODE:SET !TIMEOUT_TAG 1\n" + "CODE:TAG POS=8 TYPE=INPUT:CHECKBOX FORM=ACTION:/pls/PROD/bwykfreg.P_AltPin1?deviceType=C ATTR=NAME:sel_crn EXTRACT=TXT", timeout); ManagedGlobals::app->iimDisplay(stat.ToString(), timeout); ManagedGlobals::app->iimPlay("CODE:WAIT SECONDS=10", timeout); if (stat != iMacros::Status::sOk) { ManagedGlobals::app->iimDisplay("Didn't find it", timeout); return false; } ManagedGlobals::app->iimDisplay("Found it", timeout); return true; }

iMacro查找元素 我正在编写一个C++ iMaRo脚本,它将登录到一个网站,转到一个特定的页面,并寻找一个复选框。如果复选框不存在,则脚本将每X秒刷新一次页面。如果该复选框确实存在,则它将选中该复选框。基本上,我只需要弄清楚如何让iMacro搜索复选框。以下是我目前的代码: using namespace System; #include <string> int timeout = 60; ref class ManagedGlobals { public: static iMacros::AppClass^ app; }; // test if element exists bool doesElementExist() { iMacros::Status stat; ManagedGlobals::app->iimDisplay("Searching for element", timeout); stat = ManagedGlobals::app->iimPlay("CODE:SET !TIMEOUT_TAG 1\n" + "CODE:TAG POS=8 TYPE=INPUT:CHECKBOX FORM=ACTION:/pls/PROD/bwykfreg.P_AltPin1?deviceType=C ATTR=NAME:sel_crn EXTRACT=TXT", timeout); ManagedGlobals::app->iimDisplay(stat.ToString(), timeout); ManagedGlobals::app->iimPlay("CODE:WAIT SECONDS=10", timeout); if (stat != iMacros::Status::sOk) { ManagedGlobals::app->iimDisplay("Didn't find it", timeout); return false; } ManagedGlobals::app->iimDisplay("Found it", timeout); return true; },c++,checkbox,macros,imacros,C++,Checkbox,Macros,Imacros,我已经在页面上对此进行了测试,复选框确实存在,但脚本无法找到它,而是返回错误代码-1100,根据它的说法,这意味着加载失败:加载宏语法失败或加载文件时发现错误宏命令的I/O错误 有人知道问题出在哪里吗?尝试删除此部件 FORM=ACTION:/pls/PROD/bwykfreg.P_AltPin1?deviceType=C 此部分可以在页面上更改,但标记不需要它来查找元素。还可以尝试通过更改POS=8来更改复选框的位置。从数字1到15开始,看看这个数字是否也改变了 此外,您可能希望更改此设置

我已经在页面上对此进行了测试,复选框确实存在,但脚本无法找到它,而是返回错误代码-1100,根据它的说法,这意味着加载失败:加载宏语法失败或加载文件时发现错误宏命令的I/O错误


有人知道问题出在哪里吗?

尝试删除此部件

FORM=ACTION:/pls/PROD/bwykfreg.P_AltPin1?deviceType=C
此部分可以在页面上更改,但标记不需要它来查找元素。还可以尝试通过更改POS=8来更改复选框的位置。从数字1到15开始,看看这个数字是否也改变了

此外,您可能希望更改此设置

stat = ManagedGlobals::app->iimPlay("CODE:SET !TIMEOUT_TAG 1\n"
        + "CODE:TAG POS=8 TYPE=INPUT:CHECKBOX FORM=ACTION:/pls/PROD/bwykfreg.P_AltPin1?deviceType=C ATTR=NAME:sel_crn EXTRACT=TXT", timeout);
进入这个

stat = ManagedGlobals::app->iimPlay("CODE:SET !TIMEOUT_TAG 1\n"
        + "TAG POS=8 TYPE=INPUT:CHECKBOX ATTR=NAME:sel_crn EXTRACT=TXT", timeout);
代码:在一个宏中只能出现一次\n用于分割命令行