Articles of casperjs

Casper.js填写浏览器的用户名和密码?

某些情况下,网站会在浏览器中以这种forms询问用户名和密码(附图)。 有没有可能使用Casper.js填写这个? Casper.fill只能在HTML表单中执行。 http://casperjs.org/api.html#casper.fill 更新1: 我试过这个,并没有工作。 var casper = require("casper").create({ pageSettings: { userName: "myusername", password: "mypassword" } }); 这个login框是在Windows 7中,它popup的原因是因为我使用了代理。 而我必须这样做的原因是因为casperjs –proxy=xxxx –proxy-auth=u:p不起作用(至less在Win7上)

如何链接casper与任何存储

我需要将testing结果存储在任何存储中。 但不幸的是,它不会与任何db驱动程序任何时候引发exception“CasperError:无法find模块networking”: var require = patchRequire(require); var redis = require("redis"), client = redis.createClient(); 是否有可能将casperjs连接到任何存储(当然除了纯文件)。

如何在SpookyJS中注入脚本?

我正在尝试在我的SpookyJS程序中注入punycode脚本。 但它不工作。 try { var Spooky = require('spooky'); } catch (e) { var Spooky = require('../lib/spooky'); } var spooky = new Spooky({ child: { transport: 'http' }, casper: { logLevel: 'debug', verbose: true, options: { clientScripts: ["punycode.js"] } } }, function (err) { if (err) { e = new Error('Failed to initialize SpookyJS'); e.details = […]

ReferenceError:用SpookyJS找不到variables

我尝试在SpookyJS中调用外部函数,方法与在wiki中执行相同的操作: https : //github.com/WaterfallEngineering/SpookyJS/wiki/Introduction 但是,当我尝试下面的代码,我有这个错误: ReferenceError:找不到variables:test try { var Spooky = require('spooky'); } catch (e) { var Spooky = require('../lib/spooky'); } var urls = ["http://www.google.fr", "http://www.yahoo.com" ]; exports.clicker = function(req, res) { console.log("FIRST: " + visitUrl + " \n\n\n END FIRST"); var visitUrl = function(urlIndex, nbClicked) { console.log("HELLO"); }; var spooky = new Spooky( { […]

CasperJS和蜘蛛时插入数据到数据库中

我在这里find了一个蜘蛛脚本: http : //planzero.org/blog/2013/03/07/spidering_the_web_with_casperjs 基本上我想要做的是使用rethinkDB把所有的链接在一个表被刮。 所以我基本上创build了另一个名为args.js的脚本,它接受一个参数,链接,然后将其存储在数据库中。 args.js // node args.js -link http://somesite.com var r = require('rethinkdb'); var args = process.argv.slice(2); var link = args[1]; var connection = null; var connection = null; r.connect( {host: 'localhost', port: 28015}, function(err, conn) { if (err) throw err; connection = conn; conn.addListener('error', function(e) { processNetworkError(e); }); conn.addListener('close', function() { […]

如何在使用CasperJS的文件中使用NPM模块?

我知道CasperJS不直接与节点一起使用,但是我甚至不能使用像cheerio这样的服务,一个节点的网页抓取工具吗? 我尝试require('cheerio'); 它说没有find。 所以我做了: 代理/ cheerios.js module.exports = require('cheerio'); testing/ file.js var cheerio = require('../proxies/cheerio.js'); 现在,我得到: 错误:找不到模块'util' phantomjs://bootstrap.js:289 phantomjs://bootstrap.js:254中的require 有什么build议么? 我真的需要在CasperJS中使用这个插件,而SpookyJS不工作…

了解Spooky JS中的范围

这个SpookyJS的实现真的很鬼。 在使用Gulp运行Mocha + SpookyJStesting时,我无法看到大部分控制台日志输出。 我一直在关注SpookyJS的github 页面上的快速入门步骤。 为什么我看不到这些控制台日志输出? describe('test', function () { it('test 1', function(done){ try { var Spooky = require('spooky'); } catch (e) { var Spooky = require('../lib/spooky'); } var spooky = new Spooky({ child: { transport: 'http' }, casper: { logLevel: 'debug', verbose: true } }, function (err) { if (err) { e = […]

Casperjs – 在通过节点运行casper_script时无法保存cli选项

我正在运行casper脚本通过节点使用child_process execFile函数,传递一些数据cli参数..但是,当我运行的脚本我无法将这些cli opts存储到variables使用它们.. var casper = require("casper").create(); casper.echo("Casper CLI passed options:"); require("utils").dump(casper.cli.options); // I want those all dumped data into single variable ie, object but couldn't able to // var options1 = require("utils").dump(casper.cli.options); // var options2 = casper.cli.options; casper.exit(); 这里是日志: ['Casper CLI passed opts:\n', '{\n "page": 1,\n "store": "Hello",\n "title": "Flex App"\n}] 我怎么能做到这一点?

等待CasperJS的多个替代select器

我有一个应用程序,可以对我的CasperJS脚本的行动有不同的反应,所以我需要同时等待不同的select器,并根据第一个匹配的select器。 但是,看起来CasperJS一次只能等待一个select器。 我如何等待不同的反应,并将脚本的执行转移到不同的分支?

当提交大值时,casperjs empy POST数据

我有一个加载的表单,我只是简单地提交表单。 在表单中有inputtypes=隐藏字段,其中存有一些长string。 这在正常的浏览器上正常工作,不能用casper。 在分析这个,apache本身是从casper获得空的POST数据。 如果我减less隐藏的input数据,它工作正常。 是否有尺寸限制或casper中定义的东西? 以下是代码: var casper = require('casper').create(); casper.start('http://localhost/loadForm', function() { // Wait for the page to be loaded this.waitForSelector('form[action="/saveConfig"]'); }); casper.then(function() { this.evaluate(function() { $('#form').submit(); }); }); casper.run();