【问题标题】:Is there a way to execute JavaScript in Perl?有没有办法在 Perl 中执行 JavaScript?
【发布时间】:2011-01-22 11:33:23
【问题描述】:

我已经在 Perl 构建 Web 抓取工具方面工作了几年,考虑到垃圾邮件所代表的问题,以及如果 Perl 的 LWP::UserAgent 可以处理它那杯 JavaScript,我很惊讶还没有人为它构建 JS 引擎。

我在这里错过了什么?

提前致谢。问候。

PS:我不是垃圾邮件发送者。只是好奇。

【问题讨论】:

    标签: javascript perl


    【解决方案1】:

    您的意思是像JavaScript::SpiderMonkey 这样的东西吗,Mozilla 使用的 JavaScript 引擎的 Perl 接口?

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        TMTOWTDI。 另一个选项是WWW::Scripter,带有 Javascript 或 AJAX 插件。

        【讨论】:

          【解决方案4】:

          还有Win32::IE::MechanizeMozilla::Mechanize。但是前面提到的WWW::Selenium 是最 DWIW 并且得到良好支持的如果您可以访问浏览器并且可以运行 Selenium 服务器。 Selenium 是一个为您运行浏览器交互的 Java 小程序。它具有适用于多个浏览器的IDEs,并且可以通过记录浏览器操作为您编写代码,包括 Perl 在内的several languages,或者您可以手写。这是test-centric,它擅长于此,但没有理由不将其用于一般自动化/抓取。

          【讨论】:

            【解决方案5】:

            您可以尝试安装 SpiderMonkey 并 - 在您的 perl 程序中 - 在反引号中执行 javascript,并捕获结果,就像使用任何其他 unix 命令行工具一样。 Spidermonkey 有一个命令行选项,类似于 perl 的 -e 命令行选项。 spidermonkey 二进制文件称为“js”,因此:

            /path/to/spidermonkey/bin/js -e "print(10);"

            > 10

            我认为您也可以安装 v8-shell 作为替代引擎,但您必须先安装“scons”,它仅在 unix 上可用。

            ./v8-shell -e 'print("10*10 = " + 10*10)'

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-10-20
              • 1970-01-01
              • 2022-12-13
              • 1970-01-01
              • 2023-04-09
              • 2016-02-17
              • 2010-12-07
              • 1970-01-01
              相关资源
              最近更新 更多