我开发了一个宏来填充网站中的许多字段,然后单击“验证”和“提交”按钮。在企业版的计算机上,它可以按预期运行。我已经对其进行了多次测试,并且没有任何问题。我将宏发送给具有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”命令。对于如何为最终用户解决此问题的任何建议将不胜感激。与往常一样,感谢您为回答这些问题所付出的时间和精力。...
答案 0 :(得分:0)
原来是IE仿真。在我的机器(企业版)上,IE仿真是10。在用户的机器(播放器版)上,IE仿真是11。一旦我们将用户的仿真切换到IE 10,宏就会像在我的机器上一样运行。 ..谁知道....