如何使用 imacros 浏览器提取 javascript 变量值?

How to extract javascript variable value using imacros browser?

我已经看过了,但我就是找不到我期望的答案应该是一个非常简单的任务。

我导航到一个包含已知 javascript 变量的页面。

例如:var foo='my variable text';

如何使用 iMacros 浏览器提取该值 ('my variable text')?甚至可以直接做吗?

或者,我是否必须执行 javascript 将该变量的值放入输入或标签中,然后 iMacros 才能从中提取?

非常感谢。

您可以使用 URL GOTO 方法调用 javascript 函数,该函数将加载输入元素内的值。请查看下面的示例,我在其中复制了相同的内容。

HTML:

<script>
var a  = "naren";
</script>
<input type="text" id="naren"/>

IMacros:

VERSION BUILD=9030808 RECORDER=FX
TAB T=1
URL GOTO=javascript:{(function<SP>(){console.log(document.getElementById(a).value='works!')})()}

所以我用上面的 html 制作了一个模型页面,然后 运行 下面的宏。

关于调用 imacros 脚本你需要知道的一些要点是:

我已将匿名函数封装为 iife,长话短说,该函数将立即执行。

如果你访问 IMACROS URL wiki page 有一行告诉我们。

The URL GOTO command by default outputs the result of the evaluated Javascript expression on a new page in the current tab. If you want to manipulate an element on the page and don't want the result to be processed by the URL GOTO command, you need to wrap it in some other call or expression that does not evaluate to any value.

For example, to change the value of the Name field on the demo Fill Form page, you can wrap the call in console.log() as follows:

URL GOTO=http://demo.imacros.net/Automate/TestForm1 URL GOTO=javascript:console.log(document.getElementById("name").value='Test');

所以我通过将对输入元素的赋值包装在 console.log.

中来实现上述语句

如果您在实施此解决方案时遇到问题,请告诉我!