【问题标题】:How to automate some web interaction with a headless browser?如何使用无头浏览器自动化一些 Web 交互?
【发布时间】:2014-11-18 02:29:15
【问题描述】:

我想创建一个脚本来按计划在网页上执行某些操作。我知道我可以使用诸如 Greasemonkey 或 Selenium 之类的浏览器扩展,但我的要求是脚本应该从命令提示符处运行。我的偏好是 PowerShell 和 NodeJS,或任何 .NET 解决方案。我想知道的一件事是是否可以在.HAR 文件中记录一些 Web 交互然后执行它,或者 .HAR 格式是否仅用于记录网络流量并且不能重新运行?谢谢!

【问题讨论】:

    标签: javascript node.js powershell automation browser-automation


    【解决方案1】:

    如果您不受浏览器类型的限制,我认为PowerShell 是最好的选择。

    它涵盖了您的所有要求,例如

    创建一个脚本以按计划在网页上执行某些操作。

    脚本应该从命令提示符运行。

    和它的一个

    .NET 解决方案。

    因为它是为任务自动化和配置管理而开发的。由基于 .NET Framework 构建的命令行 shell 和相关脚本语言组成。还提供对本地和远程系统和网络设备的完全访问权限。

    我的这些文章中有这样的脚本 - custom script #1custom script #2

    Windows Task schedular 将在预定义的时间或在指定的时间间隔后管理脚本的启动。

    更新

    关于 PowerShell 脚本中的 jQuery 注入,您可以尝试以下方法之一:

    【讨论】:

    • 是的,这就是我最终所做的。但是,我无法在页面上运行 JQuery。我为它创建了这些问题:(1)(2)
    • 当时我自己也做不到,只好用IE COM的JS支持。不过请看我更新的答案,也许对你有帮助。
    • 谢谢。另请参阅我在 PowerShell 中运行 JavaScript/jQuery 并从网页接收结果的解决方案:stackoverflow.com/a/26046039/450913
    • “自定义脚本 #1”、“自定义脚本 #2”中的链接已损坏,“post #1”、“post #2”和“post #3”也是如此。请求@ekostadinov 更新超链接以保持答案有用。
    【解决方案2】:

    我从未见过直接执行 .HAR 文件的工具,尽管 HAR 文件中有足够的信息,您可以编写一个工具来解析它并重放一些请求。

    然而,我将使用的方法是编写一个 shell 脚本来执行 cURL 命令来执行您需要的操作(在 Chrome 中,您可以从开发人员工具的网络选项卡中获取一个请求的 cURL 命令),或者如果交互过于复杂,请尝试编写一个 PhantomJS 脚本来满足您的需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-09
      • 2011-01-06
      • 2020-02-28
      • 2014-10-24
      • 2014-10-25
      • 2020-05-11
      • 1970-01-01
      相关资源
      最近更新 更多