【问题标题】:Calling javascript href from mojolicious从 mojolicious 调用 javascript href
【发布时间】:2015-04-30 10:50:10
【问题描述】:

我已获准抓取网站以建立产品数据库。当按下按钮时,将调用一个 javascript 函数,然后将更改的信息呈现给用户(颜色、价格等的变化)。在尝试抓取网站时,我希望能够预测更改,就像按下按钮一样。有问题的元素是:

<a   id="anId" title="title" class="class" data-code="code" href="javascript:aFunction('ctl00$MainContent$ctl00$ctl00$FabricGroups$ctl00$FabricOptions$ctl00$FabricButton','')"></a>

在 mojolicious(我想象 userAgent 类?)中,如何打印调用 javascript 函数的输出?有可能吗?

【问题讨论】:

    标签: javascript html user-agent mojolicious


    【解决方案1】:

    这当然不容易。 Perl 不解释 javascript(至少通常不会,几乎可以肯定不会使用 DOM)。

    也就是说,我一直致力于 a project 来帮助解决这个问题,这肯定还没有准备好生产,它通过生成 PhantomJS 的实例来测试 JavaScript 操作。一旦完成,api 将变得像 Test::Mojo 一样易于使用。我将在今年晚些时候(2015 年)在YAPC::NA 展示它。

    更新:该模块现在位于 CPAN 上,名为 Test::Mojo::Role::Phantom

    【讨论】:

    • 好的,谢谢乔尔。现在值得我在我的 Perl 脚本中使用 PhantomJS 来看看我是否可以模拟一些可以解决问题的东西吗?
    • 它确实可以运行,尽管它可能很粗糙。如果您将它用于自动化测试(主要关注点),那么您将需要 Test::Simple 的最新开发版本之一,其中包括 Test::Stream。我最大的主张是,我保证在这一点上绝对不会稳定。大事还是会改变。
    • 嗨,你有这个答案的更新了吗? YAPC::NA 的演讲怎么样?
    • @Rambatino:是的,可以使用!
    猜你喜欢
    • 2010-12-19
    • 2013-04-26
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2014-08-24
    • 1970-01-01
    • 2013-07-11
    相关资源
    最近更新 更多