Tag: casperjs

有没有办法用CasperJS取得新的文物的仪表板截图?

我尝试从新的文物洞察仪表板捕捉一些图像,但是它不起作用。 该脚本几个星期前工作,但现在,我只是在顶部有一个橙色边框的空白图像(如果JavaScript未启用)。 有我的脚本: http : //pastebin.com/aiBiWXqK 它适用于login页面,但对于其他两个捕获,它显示一个空的页面。 我在.sh文件中像这样运行这个脚本。 PHANTOMJS_EXECUTABLE=/usr/local/bin/phantomjs /usr/local/bin/casperjs –cookie-file=$(pwd)/tv-cookies.txt $(pwd)/capture.js –ssl-protocol=any –ignore-ssl-errors=true 我试图casper.wait(fun, 300000) ,以确保它将完全加载。 我试图casper.waitForSelector('.dashboard-widgets', fn)来检查select器是否被创build,但它不会工作。 我知道仪表板是用Angular创build的,但我试图捕获用Angular制作的其他网站,没关系。 有谁知道如何做到这一点? 或者使用任何build议或其他包来做到这一点?

带有AWS Lambda的CasperJs

我使用node-casperjs-aws-lambda来创build我的casperjs,我将phantomjs版本更新到2.1.1,并使用Lambda上的基本示例部署代码,这非常完美 但是,当我尝试用亚马逊网站testingcasperJs时,它不起作用。 该页面不加载,但在本地,这是工作: // Simple Javascript example var casper = require('casper').create(); casper.options.verbose = true; casper.options.logLevel ="debug"; casper.userAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0'); var amazonProduct = 'https://www.amazon.fr/gp/product/B017DBB1S8'; console.log('Loading a web page: ' + amazonProduct); // Ouvre la page produit casper.start(amazonProduct, function() { this.echo('Page title is: ' + this.getTitle()); }); casper.run(); 云监视debugging模块给我: Loading […]

使用casperjstestingangularjs应用程序

当使用CaspertestingAngular应用程序时,我发现input和模型之间的绑定似乎没有发生,当我填写表单域。 我用Casper的填充方法,但发现Angular表单validation拒绝任何必填字段,好像它们仍然是空白的。 姓名电子邮件主题信息

在屏幕抓取应用程序中使用静止存储凭据的合理安全方法是什么?

借助PhantomJS,CasperJS允许您在应用程序启动时指定要加载的JSON文件。 我有我的凭据存储在这个文件,这是比在源文件中硬编码好一点: var json = require('testfile.json'); var username = json['username']; var mykey = json['mykey']; 我仍然将服务器上的凭据以纯文本forms存储,我希望远离这些凭据。 这个过程将被自动化,所以我不能通过命令行parameter passing凭据,也不会在Windows任务计划程序中存储参数。 什么是安全的方式来存储这些信息呢?

在Nodejscallback中调用一个模块函数

我有一个写入日志文件的模块。 (coffeescript抱歉,但你明白了!) require = patchRequire(global.require) fs = require('fs') exports.h = log: ()-> for s in arguments fs.appendFile "log.txt", "#{s}\n", (e)-> if (e) then throw e 当我直接调用它时它工作文件。 但是当我从callback中调用它,例如casperjs启动事件: h = require('./h').h casper = require('casper').create() casper.start "http://google.com", ()-> h.log("hi") casper.run() …我总是得到这个或类似的“未定义”TyepError: TypeError: 'undefined' is not a function (evaluating 'fs.appendFile("log.txt", "" + s + "\n", function(e) { if […]

你需要python来使用casper.js吗? 如果是的话为什么

我从来没有使用python。 我唯一知道的语言是JavaScript。 我使用节点做networking工作,我不断阅读有关如何casper.js可以抓取网页。 所以我想我可以像往常一样使用它。 现在我正在安装它,我得到'python' is not recognized as an internal or external command, operable program or batch file. 我知道这意味着把python放在我的路上。 我不想安装python。 我使用JavaScript为什么要安装python? 我只是困惑,因为casper.js有一个js ,我会认为它会依靠js而不是python。 所以你可以确认我是否真的需要安装python。 我现在真的不想处理另一种语言。 这是一个简单的过程吗?

遇到types错误与casperjs

当我执行casperjs时,它会抛出一个TypeError: #casperjs test.js child_process.js:936 var r = this._handle.spawn(options); ^ TypeError: Bad argument at ChildProcess.spawn (child_process.js:936:24) at exports.spawn (child_process.js:736:9) at Object.<anonymous> (/usr/local/lib/node_modules/phantomjs/bin/phantomjs:22:10) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3 并没有test.js它抛出同样的错误: # casperjs child_process.js:936 var r = this._handle.spawn(options); ^ TypeError: Bad argument at ChildProcess.spawn […]

如何在AWS Lambda上部署phantomjs节点应用程序?

我把一个小的Lambda函数放在一起,使用SpookyJS,CasperJS和PhantomJS工具链来抓取一个网站来进行无头浏览。 这个任务很简单,几个月前在Lambda工作。 我最近不得不改变一些东西,想再次在这个项目上工作,但是开始新鲜起来,很难让Lambda在没有任何错误的情况下运行。 我的问题是如何在Lambda中运行phantomjs ? 我正在运行的示例代码是: spooky.start('http://en.wikipedia.org/wiki/Spooky_the_Tuff_Little_Ghost'); spooky.then(function () { this.emit('hello', 'Hello, from ' + this.evaluate(function () { return document.title; })); }); spooky.run(); 我在Lambda中遇到的错误是: { [Error: Child terminated with non-zero exit code 1] details: { code: 1, signal: null } } 我遵循了各种程序,以确保一切都能在Lambda上运行。 以下是我尝试诊断的一长串列表: 使用node index.js在本地运行并确认它正在工作 将package.json和jsfile upload到Amazon Linux EC2实例以进行编译,build议用于npm安装调用,并在此处介绍 在ec2实例上运行npm install ,并再次运行node index.js以确保输出正确 压缩一切,并使用cli部署到AWS 我的package.json是: […]

用CasperJS不能要求下划线

我使用CasperJS来运行自动化的前端testing,但在我的testing中遇到了使用其他npm模块的问题。 我知道patchRequire但我相信只能在testing环境之外被调用,因为testing运行器补丁需要自动执行。 我包括它,但结果是一样的。 它说它无法find模块。 我已经确认下划线模块安装在项目根文件夹中的node_modules中。 码 'use strict' _ = require 'underscore' testConfig = testPageUrl: '' testSearchTerm: 'the' config = _.extend testConfig, require 'common/config' 代码在Javascript中 'use strict'; _ = require('underscore'); testConfig = { testPageUrl: '', testSearchTerm: 'the' }; config = _.extend(testConfig, require('common/config')); 错误 CasperError:找不到模块下划线

使用casperjs下载资源图像文件

我阅读文件,看起来像你需要slimerjs http://docs.casperjs.org/en/latest/events-filters.html为了从page.resource.received事件获取responseData.body 。 我的用例是当页面加载的时候下载图片,所以我不做另外一个往返:获取资源JSON,下载并保存任何图像文件,重新加载文件检查图像尺寸,如果太小(图标) – >消除。 我想知道是否有更好的方法来做到这一点。 我其实可以去evaluate imgselect器,但一些网站使用background-url css,这是棘手的。