【问题标题】:Run iMacros Enterprise Edition macro on the iMacros Player Edition在 iMacros Player Edition 上运行 iMacros Enterprise Edition 宏
【发布时间】:2019-10-18 15:22:20
【问题描述】:

我开发了一个宏来填充网站中的字段,单击“验证”和“提交”按钮。

在我的机器上,企业版可以正常运行。我测试了很多次。

我将宏发送给具有播放器版(相同版本号)的现场用户。该宏贯穿登录过程并一直工作,直到它开始输入数据。当它运行下面突出显示的代码时,宏会清除网站并留下一些链接。

下面的代码用于更新第一个字段。它输入值,然后单击“ENTER”按钮。这个特定的网站此时需要一个“enter”或“tab”键来启动幕后验证。 (当它在我的机器上运行时,执行“ENTER”键后会弹出一条小验证消息 - 就像它应该的那样。播放器版不会发生这种情况。)

播放器版的几个不同的用户尝试了宏,并且发生了同样的事情;执行“ENTER”命令时,网站几乎变为空白。

我尝试了以下方法:

将代码注释掉 - 不起作用 将 0 更改为 * - 不起作用 将 ENTER 更改为 TAB - 不起作用 - 宏在 TAB 后输入 }

我还查看了仿真。当我运行宏时,网站底部显示“Emulating IE 10”。当用户运行宏时,网站会显示“Emulating IE 11”。这可能是不同行为的原因吗?如果是这样,有没有办法以编程方式改变它?当用户运行宏时,有没有办法强制宏模拟 IE 10?我有两个他们使用的其他 iMacros,这在以前不是问题。

下面的提取代码用于确认已输入并验证了一个值,然后宏转到下一个字段。

IM = ""
IM = "CODE:"
IM = IM + "TAB T=2" + vbNewLine
IM = IM + "SET !TIMEOUT 1" + vbNewLine
IM = IM + "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:editWarrantyform:repairOrderNumberId CONTENT=" & vRO(Y) + vbNewLine

iret = iim1.iimPlay(IM)

IM = ""
IM = "CODE:"
IM = IM + "TAB T=2" + vbNewLine
IM = IM + "SET !TIMEOUT 60" + vbNewLine
IM = IM + "DS CMD=KEY X=0 Y=0 CONTENT={ENTER}" + vbNewLine

iret = iim1.iimPlay(IM)            **** MACRO ERRORS OUT WHEN THIS LINE IS EXECUTED

IM = ""
IM = "CODE:"
IM = IM + "TAB T=2" + vbNewLine
IM = IM + "SET !TIMEOUT 60" + vbNewLine
IM = IM + "TAG POS=1 TYPE=INPUT:TEXT ATTR=NAME:editWarrantyform:repairOrderNumberId EXTRACT=TXT" + vbNewLine

iret = iim1.iimPlay(IM)

vTmp = ""
vTmp = iim1.iimgetlastextract
vTmp = Replace(vTmp, "[EXTRACT]", "")
vTmp = Trim(vTmp)

“ENTER”命令在播放器版和企业版中的工作方式有什么不同吗?我在同一个宏中还有其他几个 iMacro 进程,现场用户说这些进程运行没有任何问题。我不认为“ENTER”命令用于任何其他进程。

【问题讨论】:

    标签: vba imacros


    【解决方案1】:

    原来是 IE 仿真。在我的机器(企业版)上,IE 仿真为 10。在用户机器(播放器版)上,IE 仿真为 11。一旦我们将用户的仿真切换到 IE 10,宏就像在我的机器上一样运行。 ..谁知道....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-05
      • 2021-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多