iMacros企业版宏不适用于iMacros Player版

问题描述 投票:0回答:1

我开发了一个宏来填充网站中的许多字段,然后单击“验证”和“提交”按钮。在企业版的计算机上,它可以按预期运行。我已经对其进行了多次测试,并且没有任何问题。我将宏发送给具有Player Edition(相同版本号)的现场用户。当他们运行宏时,可以在登录过程中正常运行,直到开始输入数据为止。当它运行下面的突出显示的代码时,该宏将清除网站并留下一些链接。真奇怪我以前从未用这些宏之一发生过这种情况。你见过这样的东西吗?

下面的代码用于宏正在更新的第一个字段。输入值,然后单击“ ENTER”按钮。此特定网站此时需要“输入”或“选项卡”按键,以启动后台验证。 (当它在我的计算机上运行时,执行“ ENTER”键后会弹出一则验证消息-就像应该的那样。PlayerEdition不会发生这种情况。)

有几个不同的用户,使用Player Edition尝试了该宏,并且发生了同样的事情;执行“ ENTER”命令后,该网站几乎空白。

我尝试了以下操作:

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

我也看了仿真。当我运行宏时,网站底部显示“模拟IE 10”。当用户运行宏时,网站上会显示“模拟IE 11”。这可能是造成不同行为的原因吗?如果是这样,是否有办法以编程方式进行更改?当用户运行宏时,是否有办法强制宏模仿IE 10?这很奇怪,因为我还使用了另外2个iMacros,而这以前不是问题。

fyi ...……..下面的提取代码用于确认已经输入并验证了值,然后宏移至下一个字段。

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”命令在Player版本中与在Enterprise Edition中是否有所不同?我在同一宏中还有其他几个iMacro进程,现场用户说这些进程运行没有问题。我认为这些其他进程均未使用“ ENTER”命令。对于如何为最终用户解决此问题的任何建议将不胜感激。与往常一样,感谢您的时间和精力来回答这些问题。...

vba imacros
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.