问题:为什么我尝试将变量从 .js 传递到 iim宏文件无法正常工作?
我有以下两个文件:
test.js :
for (var1 = 100; var1 <= 200; var1 = var1 + 50)
{
iimSet("var1",var1);
iimPlay("test2");
}
test2.iim
VERSION BUILD=9030808 RECORDER=FX
TAB T=1
SET !TIMEOUT_PAGE 1
SET !ERRORIGNORE YES
URL GOTO=javascript:document.getElementsByClassName("scroll_element")[0].scrollBy(0,var1)
WAIT SECONDS=3
脚本应该做什么: 在上一个示例中,我尝试调用 test.js ,然后调用 test2.iim 几次向下滚动特定网站。
在文件 test2.iim 中,我尝试在倒数第二行使用 var1 来向下滚动特定div中的某个元素。这是行不通的。但是,如果我将 var1 替换为 100 ,就像这样:
URL GOTO=javascript:document.getElementsByClassName("scroll_element")[0].scrollBy(0,100)
它确实有效,向下滚动100个像素。这让我相信 var1 由于某种原因没有通过,虽然我虽然是我的实现
iimSet("var1",var1);
是合适的。
有谁知道我做错了什么?
答案 0 :(得分:1)
首先,使用“var1”不是一个好主意,因为它与内部!var1变量的名称几乎相同。我不确定这是否会导致问题,但最好避免它。但主要问题是缺少{{...}}。例如,如果您使用“myvar1”作为变量,那么您需要在宏中使用{{myvar1}}:
网址GOTO = javascript:document.getElementsByClassName(“scroll_element”)[0] .scrollBy(0, {{myvar1}} )