【问题标题】:How to extract javascript variable value using imacros browser?如何使用 imacros 浏览器提取 javascript 变量值?
【发布时间】:2018-08-10 19:48:20
【问题描述】:

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

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

例如:var foo='我的变量文本';

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

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

非常感谢。

【问题讨论】:

    标签: javascript imacros


    【解决方案1】:

    您可以使用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。

    关于调用 imacros 脚本需要了解的几点是:

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

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

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

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

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

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

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

    【讨论】:

    • 非常感谢您的回复。我相信您从 wiki 页面发布的部分是我遗漏/忽略的关键信息。
    猜你喜欢
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 1970-01-01
    • 2011-10-16
    • 1970-01-01
    相关资源
    最近更新 更多