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

时间:2018-08-10 19:48:21

标签: javascript imacros

我看过了,但是我根本找不到我期望这是一个非常简单的任务的答案。

我已导航至包含已知javascript变量的页面。

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

如何使用iMacros浏览器提取该值(“我的变量文本”)?甚至可以直接这样做吗?

或者,我是否需要执行javascript将变量的值放入iMacros可以从中提取的输入或标记中?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用URL GOTO方法来调用javascript函数,该函数会将值加载到input元素内部。请在下面示例中复制我的示例。

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,会有一行告诉我们。

  

URL GOTO命令默认输出评估结果   当前标签中新页面上的Javascript表达式。如果你想   操作页面上的元素并且不希望结果为   由URL GOTO命令处理,您需要将其包装在其他   不会计算任何值的调用或表达式。

     

例如,更改演示“填充”上的“名称”字段的值   在表单页面中,您可以将调用包装在console.log()中,如下所示:

     

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

因此,我通过将对输入元素所做的赋值包装在console.log中来实现上述语句。

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