任何无需 GUI/X 会话即可使用 GreaseMonkey 脚本运行 Firefox 的方法

2024-04-19

我需要为第三方网站构建一个小型“监控”抓取工具(这是一个外部网站,其中包含有关我们访问者的统计信息)。

不幸的是,这个网站很难通过正常的“wget”机制,因为它使用了大量复杂的 JS,其中一部分是由 GWT 生成的。所以我的解决方法是创建一个 GreaseMonkey 脚本,然后让该脚本调用一个 PHP 页面来记录抓取的数据。然后,一旦 Firefox 开始抓取这个网页,脚本就会开始工作。

这很有效,但现在我正在努力使其在监控工具方面更加强大。我希望它使用 cron 作业在服务器上运行。据我了解,这需要设置 DISPLAY 变量并存在 X 会话(Firefox 拒绝为我运行)。有什么好的方法可以让它作为 cron 作业从批处理用户帐户运行吗?


我做了类似的事情让 Selenium 在服务器上无头运行。我用的是Xvfb。

http://en.wikipedia.org/wiki/Xvfb http://en.wikipedia.org/wiki/Xvfb

本文提供了一些在 Firefox 中使用 Xvfb 的提示:

http://semicomplete.com/blog/geekery/xvfb-firefox.html http://semicomplete.com/blog/geekery/xvfb-firefox.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

任何无需 GUI/X 会话即可使用 GreaseMonkey 脚本运行 Firefox 的方法 的相关文章

随机推荐

  • MySQL + Code First + 延迟加载问题!

    在一个非常简单的房地产程序中 我尝试使用 EF Code First 列出房屋的所有图像 附加到我拥有的现有数据库 我使用 MySQL Conector 6 3 6 这是我的代码 namespace CodeFirstMySQL class
  • 通过 unix shell 命令查找给定文件扩展名的首选应用程序

    这可能不是strictly关于编程 但如果我找不到现成的解决方案 它可能会成为一个编程任务 在 UNIX 上 用于确定给定文件类型的用户首选应用程序的命令行方法是什么 我理想的解决方案是一个命令 让我不必执行以下操作 okular foo
  • OnItemCLickLIstener 不适用于 ListView

    我有一个带有 ListView 的活动 具有自定义视图的 ListView 我将 OnItemClickLIstener 添加到 ListView 中 当我点击项目时 结果我什么也没看到 ListView 的活动
  • 从日期中减去时间 - 时刻 js

    例如我有这个日期时间 01 20 00 06 26 2014 我想减去这样的时间 00 03 15 之后我想将结果格式化为这样 3 hours and 15 minutes earlier 我怎样才能做到这一点使用moment js edi
  • useReducer Action 调度两次

    Scenario 我有一个返回操作的自定义挂钩 父组件 Container 利用自定义钩子并将操作作为 prop 传递给子组件 Problem 当从子组件执行操作时 实际调度会发生两次 现在 如果子级直接使用钩子并调用操作 则调度仅发生一次
  • 当我不知道它是否是临时的时,C++ 返回类型

    假设Foo是一个相当大的数据结构 我应该怎样写一个const返回实例的虚函数Foo 如果我不知道继承的类是否会存储Foo内部 因此 允许通过引用返回 如果我无法在内部存储它 我的理解是我无法返回const引用它 因为它将是临时的 它是否正确
  • 如何使用 Laravel + JavaScript 创建搜索过滤器?

    我最近创建了一个 JavaScript 过滤器来过滤产品表中的数据 我有 5 个字段可以输入搜索 它们是 描述 型号 经销商和库存 我将表与另一个视图中的产品分开 并将字段保留在索引中 我需要该表返回我在字段中输入的值 我举了一个用 描述
  • WP7 检查互联网是否可用

    我的应用程序 WP7 未被接受 因为如果互联网不可用 它无法加载 我寻找一种方法来检查它并找到了这个命令 NetworkInterface GetIsNetworkAvailable 但它无法在模拟器上运行 而且我没有任何设备来测试它 有人
  • 在 git-svn 中克隆主干后克隆分支的最佳方法是什么?

    给定一个包含许多分支的大型 Subversion 存储库 我想开始使用git svn通过克隆trunk首先 然后添加特定分支 我看到至少三种方法可以做到这一点 但是其中任何一种都是 官方的 还是有最好的方法 假设以下布局 https svn
  • Delphi 6:在缺少抽象类方法时强制编译器错误?

    我使用的是 Delphi Pro 6 现在 了解类是否缺少基类抽象方法的唯一方法是等待 IDE 发出 包含抽象方法 base class 抽象方法名称 警告或在尝试调用缺少的方法时等待运行时抽象错误方法 前者是不够的 因为它只查找当前项目中
  • 如何在 log4j 中启用包级别日志记录

    谁能告诉我 log4j 中的包级别日志记录是什么 以及如何实现这一点 今天我的面试问题无法回答 即使我在谷歌中也没有找到好的解决方案 太感谢了 包级别日志记录是 log4j 的标准日志记录 使用 log4j 配置 您可以指定包和关联的级别
  • 将 std::wstring 转换为 int

    我认为这非常简单 但我无法让它发挥作用 我只是想将 std wstring 转换为 int 到目前为止我已经尝试了两种方法 第一种是将 C 方法与 atoi 一起使用 如下所示 int ConvertedInteger atoi OrigW
  • 如何让传单地图画布具有 100% 的高度?

    我的传单画布目前如下所示 高度为 700 像素 不过我希望它的高度为 100 以便占据整个空白区域 高度 100 在地图画布的 CSS 属性中不起作用 我找到了一些解决方案 但它们只适用于谷歌地图 有没有人有解决方案 即使这只是一个解决方法
  • 在 Matplotlib 3D 绘图中获取观察/相机角度?

    当我用鼠标旋转 Matplotlib 3D 图时 如何保存视角 相机位置 并在下次运行脚本时使用这些值以编程方式设置视角 TL DR 视角存储在图形的轴对象中 名称为elev and azim 并且视图可以设置为plt gca view i
  • jQuery AJAX 参数未传递给 MVC

    我有点陷入可能是常见的情况 但找不到太多解决方案 我将单个 int 参数传递给 MVC 控制器方法 期望返回 Json 响应 问题是 该参数虽然在客户端填充 但在服务器端无法识别并被解释为空 这是代码 function getBatches
  • 无法在react-native中获取iOS推送通知设备令牌

    我提到这个问题 https stackoverflow com questions 35387227 get device token with react native获取设备令牌以便将推送通知发送到我的应用程序 我使用创建了我的应用程序
  • 如何在 Swift 中获取由整数表示的 Unicode 代码点?

    所以我知道如何将字符串转换为utf8格式 如下所示 for character in strings utf8 for example A will converted to 65 var utf8Value character 我已经阅读
  • “栅栏已经激活——来不及添加写入”

    下面的错误信息是什么意思 栅栏已经激活 来不及添加写入 以下是如何获取它的示例 环境 Mac OS X http en wikipedia org wiki Mac OS X Lion 流星0 3 8 项目创建 meteor create
  • 熊猫到D3。将数据帧序列化为 JSON

    我有一个包含以下列且没有重复项的 DataFrame region type name value 可以看作是一个层次结构 如下所示 grouped df groupby region type name 我想将此层次结构序列化为 JSON
  • 任何无需 GUI/X 会话即可使用 GreaseMonkey 脚本运行 Firefox 的方法

    我需要为第三方网站构建一个小型 监控 抓取工具 这是一个外部网站 其中包含有关我们访问者的统计信息 不幸的是 这个网站很难通过正常的 wget 机制 因为它使用了大量复杂的 JS 其中一部分是由 GWT 生成的 所以我的解决方法是创建一个