如何在Windows 7上使用NodeJS / PhantomJS / CasperJS

我需要刮一个网站forms(即时),其中有AJAX和SESSIONS。 我做了大量的研究,并且遇到了几个可能的解决scheme,一个是Python :: Mechanize。 我不知道Python的python和cURL(从我的理解)不能处理AJAX或提交表单。

我发现我相信是可能的堆栈,可以导致我的恩典:)。 问题是我根本不知道如何使用这些软件包。

  1. 我下载并安装了NODEjs,我可以从cmd中调用它。 (大)

  2. 我下载并安装PhantomJS(不知道如何设置PATH以便它是dynamic的,所以我必须在CMD中手动cdDIR以使其加载)如何在Windows 7中设置此? 不知道在哪里指path。

  3. 下载CasperJS – 放入DIR

所以在phantomjs上,我能够运行一个testing文件,在CMD提示符中回显“hello world”。 而现在我不知道如何继续。 – 非常需要这个从我的web服务器上运行(即时) – 所以它需要被实现到我的网页。 到目前为止,我只想从CMD中运行它,然后转到一个页面,提交一个表单,刮取结果,并将其写入一个文件。

有人可以解释一下,像我可以做到这一点的工作stream程?

CasperJS – >显示了这个表单的例子。 我想用我的variables来实现,运行脚本并保存结果。

 casper.start('http://some.tld/contact.form', function() { this.fill('form#contact-form', { 'subject': 'I am watching you', 'content': 'So be careful.', 'civility': 'Mr', 'name': 'Chuck Norris', 'email': 'chuck@norris.com', 'cc': true, 'attachment': '/Users/chuck/roundhousekick.doc' }, true); }); casper.then(function() { this.evaluateOrDie(function() { return /message sent/.test(document.body.innerText); }, 'sending message failed'); }); casper.run(function() { this.echo('message sent').exit(); }); 

       

网上收集的解决方案 "如何在Windows 7上使用NodeJS / PhantomJS / CasperJS"

下一步安装PhantomJS之后:

  1. 在桌面上,右键单击我的电脑,然后单击属性。
  2. 点击左栏中的高级系统设置链接。
  3. 在“系统属性”窗口中,单击“环境variables”button。
  4. findPATHvariables,然后单击编辑
  5. 在variables值的末尾添加PhantomJSpath(不要忘记;在它之前)

现在,您可以使用CMD中的phantomjs。 例如:phantomjs c:\ mywebsite \ with \ ajax \ dopescript.js

完成这些步骤后,下载CasperJS并将其放入PhantomJS文件夹中

Ex.: c:\phantomjs\casperjs

为CasperJS执行PATHvariables的前面步骤(加上\ bin的结尾)

Ex.: c:\phantomjs\casperjs\bin

尝试从CMD casperjs。

如果不工作,请到casperjs文件夹中的batchbin目录下午餐casperjs.bat

现在尝试从这个文件夹中调用CasperJs。 (适用于我)

所以现在你应该有PhantomJS + CasperJS。

关于保存结果:

把这个var fs = require('fs'); 在你的脚本和通话的开始

fs.write('result.html', myData); 其中myData是您需要保存的数据。

这里是关于FS: PhantomJS文件系统的更多信息