标签: mozrepl

使用MozRepl和Mechanize :: Firefox呈现HTML

我刚刚介绍了与Perl的WWW :: Mechanize :: Firefox一起使用的MozRepl的奇迹,并试图弄清楚如何使用它来抓取GWT页面(例如:https://www.google. com/offers/home#!details/4bc7fd6bd3feb311/XYW81TXGLA88TR42)

我真正想要的是渲染的html,而不是实际的html.真的很感激我会如何得到这个.

perl firefox gwt mechanize mozrepl

9
推荐指数
1
解决办法
851
查看次数

如何在Javascript对象中使用Unicode字符串键?

我想在Object中使用unicode字符串作为键,如下所示:

var t = {"??": "naitong"};
Run Code Online (Sandbox Code Playgroud)

没关系,t ["姓名"]返回"naitong"

Object.keys({"??": "naitong"})
Run Code Online (Sandbox Code Playgroud)

我得到了一个空白的字符串

有谁知道为什么?

EDITTING:

我安装了firebug并在控制台中尝试它,它的工作原理.实际上我使用mozrepl,以便我可以在emacs中编辑和运行javascript.所以这与mozrepl有关

我已经确认mozrepl仅支持"7bit安全ASCII",要转换unicode,我必须在emacs中对其进行json编码,如下所示:

alert(Object.keys(JSON.parse("{\"\\u59d3\\u540d\":\"naitong\"}")))
Run Code Online (Sandbox Code Playgroud)

这是我在stackoverflow上提出的第一个问题,我快速得到了回复.谢谢你们.

javascript unicode javascript-objects mozrepl

8
推荐指数
1
解决办法
1862
查看次数

使用MozRepl设置无头Firefox

我想运行一个爬虫,可以在没有X服务器的环境中处理javascript创建的html.我知道我可以在xvfb下以无头状态运行Firefox,我知道如何在Firefox上安装MozRepl并使用WWW :: Mechanize与它进行交互,当我有实际的浏览器并可以下载和设置模块时.

我不知道该怎么办是在我没有X服务器的环境中在Firefox上设置MozRepl,以便我安装模块.任何帮助表示赞赏.

perl firefox headless-browser mozrepl

7
推荐指数
1
解决办法
1847
查看次数

mozrepl:循环浏览 Firefox 的所有窗口中的所有选项卡

我知道当我进入 mozrepl 会话时,我处于一个特定浏览器窗口的上下文中。在那个窗口我可以做

var tabContainer = window.getBrowser().tabContainer;
var tabs = tabContainer.childNodes;
Run Code Online (Sandbox Code Playgroud)

这将为我提供该窗口中的一系列选项卡。我需要获取所有打开的 Firefox 窗口中所有选项卡的数组,我该怎么做?

javascript firefox mozilla firefox-addon mozrepl

5
推荐指数
1
解决办法
841
查看次数

从外部进程获取当前活动的 chrome 或 chrome 选项卡的 URL

如何以编程方式从 Linux 中的外部进程获取当前的 chromium 选项卡 URL?

类似的问题还有很多,但我没有找到符合以下要求的问题

  • 解决方案应该在 chrome 进程之外运行,即不在 javascript 或 chrome 扩展中运行。
  • 解决方案不应基于 autohotkey、xdotool、wmctrl 或类似的工具来模拟键盘或鼠标输入
  • 没有特定于 OSX 或 Windows 的解决方案

在 Firefox 中,有mozrepl,它通过 TCP 端口上的交互式 repl 公开浏览器内部结构。我正在寻找 chromium 或 chrome 中类似的东西,即使这意味着安装 chrome 扩展。

google-chrome chromium mozrepl

5
推荐指数
1
解决办法
1637
查看次数

WWW:Mechanize:Firefox连接失败

我正在创建一个简短的Perl脚本.我正在使用该WWW::Mechanize::Firefox模块.当我实例化对象时,我相信模块无法与Firefox中的MozRepl组件建立连接.

我的代码如下:

use WWW::Mechanize::Firefox;

my $mech = WWW::Mechanize::Firefox->new();
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,我收到以下错误消息

Failed to connect to , problem connecting to "localhost", port 4242: Connection refused at /usr/local/share/perl/5.12.4/MoxRepl/Client.pm line 144'
Run Code Online (Sandbox Code Playgroud)

我刚刚安装并更新了我能想到的所有相关软件

  1. Perl 5.12.4
  2. 适用于Firefox的MozRepl扩展
  3. CPAN
  4. MozRepl
  5. WWW ::机械化
  6. WWW ::机械化::火狐

我尝试调整防火墙以打开端口4242.没有什么工作.有任何想法吗?

此Stack Overflow问题中出现类似的错误代码


更新

好吧,鲍罗丁的答案实际上解决了2个问题.

WWW :: Mechanize :: Firefox-> new()仅适用于

  1. Firefox浏览器已经打开,并且
  2. 启动Firefox后,按照Borodin的说明操作,并启动MozRepl

我曾期望Perl脚本像shell脚本一样,并为我启动Firefox.不是这种情况.

此外,如果您在Firefox中隐藏菜单栏,则"工具"菜单是唯一一个在左上角显示的下拉列表中无法访问的菜单.您必须显示菜单栏才能访问"工具"菜单.

perl firefox mechanize mozrepl

3
推荐指数
1
解决办法
1882
查看次数