Phantomjs在页面加载完成后登录、重定向和呈现页面

我有一个带有登录表单的网站。如果用户未登录并尝试访问内部页面,它将被重定向到默认页面。例如,如果我尝试访问 http://siteURL.PhantomPrint.aspx我将被重定向到http://siteURL/Default.aspx?ReturnUrl=PhantomPrint.aspx.登录后,将自动重定向到页面 在重定向之后,我想用Phantomjs呈现页面并将其保存为pdf。问题是渲染发生在页面加载完成之前,只有在使用超时时才能正确渲染页面。在这种情况下,如果页面加载时间比正常时间

Phantomjs 当前导航步骤

是否有一种简单的方法可以在casper脚本中获取当前导航步骤(如调试输出:“步骤xx/yy在ZZZms中完成”)。或者唯一的办法就是自己数步? 谢谢不,CasperJS不跟踪步骤执行时间或当前步骤索引。您可以自己做,也可以对casper实例进行猴子补丁。如果你决定自己做的话 您可以从周围的步骤或步骤中确定相关步骤的时间 使用、和事件。这将无法正常工作,因为casper.start或casper.thenOpen没有发出step.complete,但是step.start是无效的

PhantomJS页面。打开冻结

我正在尝试使用捕获示例打开一个使用PhantomJS的网站 var page = require('webpage').create(); page.open('http://github.com/', function() { page.render('github.png'); phantom.exit(); }); 代码在我的本地机器上运行良好,使用的是Ubuntu 14.04。但是,当我在虚拟服务器上运行代码时,永远不会调用回调,脚本也不会退出。服务器和我的本地计算机正在运行完

Phantomjs 错误:window.sinon未定义

我正在使用casperjs,它反过来又在slimerjs和phantomxhr上运行。我不确定phantomxhr是否支持slimerjs+capserjs,但我在运行代码时遇到了“window.sinon is undefined”错误(错误在phantomxhr.js第124行)。使用phantomjs运行casperjs时,一切都正常 看起来在注入给定phantomxhr的sinon js脚本时出现了问题(第24行)。所以我所做的是,在测试文件'phantom.injectJs(“sino

Phantomjs中缺少Angularjs HTML元素

我正在一个网站上爬行。当我突然意识到元素丢失时,我必须更改给定工作的日期。当我截屏时,元素确实丢失了。有没有办法渲染该元素?该网站使用Angularjs运行,因为我注意到HTML代码中的ng。这是图片,第一张是桌面截图,第二张是幻影 我找到了解决方法,只需等待angularjs加载到phantomjs上。估计需要5秒钟才能加载。这里最好的方法是setTimeout函数。我找到了解决方法,只需等待angularjs加载到phantomjs上。估计需要5秒钟才能加载。这里最好的方法是setTime

Phantomjs SpookyJS each()方法

在SpookyJS中,是否有一个“each”函数等同于Casper的函数 我想你现在可以自己回答了。你能找到解决办法吗?我在SpookyJS github页面上看到了你的帖子,但答案对我来说并不适用,它们有点模糊,我想我没有。但是,实际上可以通过在then块中添加一个循环,并让循环在每次迭代中创建一个then块来解决这个问题。

哪个版本的PhantomJS与yslow兼容?

我被困在这一点上,我看到yslow不再适用于PhantomJS 2.0,因为API中的phantom.args属性已被弃用。但在早期版本中,它是有效的 请告诉我哪个版本的PhantomJS可以与yslow一起使用?从PhantomJS 2.0开始。请使用不推荐的旧版本,或者编辑yslow脚本以供使用。请注意,系统模块必须是必需的 system.args[0]始终是脚本名称,system.args[1]是第一个,但在phantom.args[0]之前是第一个参数。因此,您还需要将所有索引更改一次

phantomjs-page.onError-trace始终是空对象吗?

在phantomjs的文档中,他们说: 错误处理 为了轻松捕获网页中发生的错误(无论是语法错误还是其他抛出的异常),已为网页对象添加了OneError处理程序。此类处理程序的一个示例是: 现在,如果页面打开一个包含一些JavaScript异常的站点,那么将打印出详细信息(包括堆栈跟踪) 好吧,我创建了一些“坏”页面(javascript导致异常的页面),我得到了 抛出的错误,但跟踪中没有任何内容 有人能帮忙吗 以下是我的一个案例: html: <!docType> <html&

可靠地检测基于PhantomJS的垃圾邮件机器人

是否有任何方法可以始终如一地检测PhantomJS/CasperJS?我一直在处理大量使用它构建的恶意垃圾邮件,并且基本上能够基于某些行为来阻止它们,但我很好奇是否有可靠的方法来知道CasperJS是否正在使用,因为处理不断的适应变得有点烦人 我不相信使用CAPTCHA。这是一种负面的用户体验,ReCaptcha从未在我的MediaWiki安装中阻止垃圾邮件。由于我们的网站没有用户注册(匿名讨论板),我们需要为每一篇文章提供验证码条目。我们每天都会收到几千条合法的帖子,一个验证码就会看到这个数字

Phantomjs 如何从page.open发出的请求中查看HTTP状态代码?

我有一个包含以下内容的phantomJS脚本: page.open(url, function (status) { if (status === "fail") { /* handle failure */ } }); 状态检查有时有效,但即使请求返回500,状态仍将为“成功”。如何获取实际请求状态代码?您可以这样做: var page=require('webpage')。create(), 系统=要求(“系统”), 资源=[]; 第页打开('http://google.com,功

Can';使用WebDrivero和phantomjs在html中找不到元素

我们有一个基于角度的应用程序,无法通过id找到动态元素 我们提到 并调整了窗口大小,但没有乐趣?这可能是未渲染元素/类的问题 有两种选择: 添加 或者,写上定制服务生- 我强烈推荐第二个选项。这可能是未呈现元素/类的问题 有两种选择: 添加 或者,写上定制服务生- 我强烈推荐第二种选择

如何模拟;按住“;(长按)casperjs/phantomjs中的键操作?

我正在使用casperjs测试一个类似网格的小部件。网格包含大量行。按住Shift键可以多选行,然后单击两个直接行,两次单击之间的行将被选中。下面是我测试此功能的代码段: casper.start(mytesturl); this.then(function sendKeydown(){ //send Shift keydown event this.page.sendEvent('keydown', '', null, null, 0x02000000); }); this.

在PhantomJS/CasperJS中播放声音的方法有哪些?

我已经在网上搜索了3个多小时,现在正在寻找播放音频文件的相关方法,但不幸的是,我找不到任何有用的方法。我有一个CasperJS,它可以自动执行一些任务,我希望它在完成所有任务后播放一个音频文件(例如beep.wav)。我想知道这是否可能 casper.run(function(casper) { fs.write( saveDir, JSON.stringify(content, null, ' '), 'w'); // play an audio file before ex

Phantomjs 幻影正在吞噬我的CPU

我从未使用phantomJs做过任何事情,但出于某种原因,它一次打开了5个进程,它们占用了我90%的CPU。我不能只是卸载它,因为卸载程序已损坏。我尝试过谷歌上发布的每一个解决方案,但都不管用:/这是我的Taskmanager的屏幕截图PhantomJS没有(un)安装程序,你是如何得到它的,可能是作为其他软件包的一部分?很可能你有一个运行这些PhantomJS的“编排”病毒(甚至可以代表你点击广告…)。尝试搜索运行它们的用户

Phantomjs grunt qunit与grunt服务器一起使用

在运行grunt服务器进行开发时,我如何单独使用grunt qunit任务来运行测试。 试图将[“test/***/.html”]传递给all属性时,该属性无法运行并返回(警告:0/0断言运行(0ms)使用) 看起来,它没有触发phantomjs实例,也没有找到这些脑袋。 所以我尝试了以下方法 grunt.initConfig({ .... qunit: { all: { options: {

Phantomjs 如何在输入字段中呈现已更改文本的页面

我正在PhantomJS上编写登录表单授权 page.evaluate(function() { ... $("input[name='username']").val("login"); $("input[name='password']").val("pass"); ... } 如何使用凭据呈现刷新的页面 console.log(document.querySelectorAll('html')[0].outerHTML); 仅显示原始内容 提前感谢。您不需要使用jQuery来选择输入

Phantomjs 为什么会出现错误';ln:未能创建符号链接';?

我正试图手动从git安装casperjs 但是我得到了错误“ln:未能创建符号链接”/usr/local/bin/casperjs”:没有这样的文件或目录。 请回答我,在这种情况下我能做什么?我的操作系统是windows8。您不需要在Windows上创建符号链接。只需将CasperJS bin目录添加到%命令“ln-sf pwd/bin/CasperJS/usr/local/bin/CasperJS”对linux系统有效,对windows无效 您必须在Windows中设置环境变量,并将caspe

Phantomjs 自定义casperjs模块

我已经扩展了casperjs,使用了一些新方法,比如: casper.getText=函数(选择器){ 如果(此.存在(选择器)){ 返回此.getHTML(选择器); } 否则{ 返回“”; } }; 我必须在我编写的每个脚本上添加这些函数 因此,我在放置其他模块(colorizer.js,mouse.js等)的同一位置创建了一个新文件custom.js。 custom.js包含以下代码: var require=patchRequire(require); var casper=requi

如何缩小page.content PhantomJS

要在登录控制台之前压缩页面内容 只需记录页面。内容会提供不需要的空间。相关的我会说,不要这样做。也相关的:但它在PhantomJS中不能直接使用

Phantomjs 使用Casparjs刮取政府数据库

每个超级基金网站都有一个唯一的标识符(例如KYD980501076),可以在url中对其进行编码以生成结果页: 对于每一个超级基金网站,我想记录下它们的名字、城市、州、纬度和经度 下面的代码可以找到所有的TDs,但我无法让它只查看类为“result”的表 非常感谢您的任何见解 (接下来的步骤是将结果附加到json文件) 如果您愿意尝试不同的解决方案,您可以使用并遵循 如果这样做,就可以在jquery中编写解析器,并将结果作为json返回 免责声明:我在phantomjscloud上工作过相关答

Phantomjs 如何定制自制软件包?

这有助于提供有关自制系统如何工作的一些线索。我已经使用brew install PhantomJS安装了PhantomJS,但我需要应用一些补丁。我可以看到公式已经应用了一个补丁: # Qt Yosemite build fix. Upstream commit/PR: # https://qt.gitorious.org/qt

Phantomjs 幻影pdf A4的像素大小是多少?

实际上,我是在幻影的帮助下获得最终输出的pdf A4。我的内容是精确的A4大小(595*842像素)。但是幻影pdf输出大于A4大小(595*842像素) 有人知道吗???请帮帮我。你实际上可以使用PhantomJS方法paperSize。您将能够指定页面大小、宽度、高度、格式等。以下是您的链接:

PhantomJS page.includeJs不工作

我想创建示例脚本以登录我的网站。 我的剧本是这样的: var page = require("webpage").create(); var system = require("system"); var data = { "username": system.args[1], "password": system.args[2] } function login(data){ page.open("http://localhost/mywebsite/logi

如何使用CasperJs和PhantomJS添加PDF页码和总页数

我已经通过了一个网站,我想不出什么。该网站使用从命令行调用的CasperJS,该命令行登录到该网站,然后从下载的HTML生成PDF。我认为CasperJS将使用PhantomJS生成PDF,使用capture() 我需要添加页码和总页数到PDF。例如,第1页,共5页。但是我在网上找不到任何关于如何使用CasperJS和PhantomJS的细节。可能吗 下载过程会在服务器上创建以下JS文件,其名称如下: var casper = require('casper').create({ ver

将变量传递到page.evaluate-PhantomJS

是否可以在页面中传递变量。请在下面的示例中进行评估 function myFunction(webpage, arg1, arg2){ var page = require('webpage').create(); page.viewportSize = { width: 1920, height: 1080 }; page.open(webpage, function (status){ if (status == 'success') { page.

Phantomjs Yeoman生成器总是会出错

当我尝试使用yeoman web generator时,虽然它工作正常,但纵观整个生成过程,它总是给我以下一些错误,无论我使用的是什么生成器,它们总是存在 npm ERR! phantomjs@1.9.7-6 install: `node install.js` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the phantomjs@1.9.7-6 install script. npm ERR! This is most likely

Phantomjs 如何使用带有body参数的Spookyjs发送post请求?

我想使用Spookyjs向特定服务器发送一个带有JSON主体的post请求。我是怎么做到的请帮我解决这个问题 如果您使用的是spooky,那么您使用的是nodeJS。收集我猜你想用spooky/casper处理的信息,将它们传递回nodeJS,解析数据并发布。如果你想得到更具体的答案,请详细说明你的问题。

Phantomjs 带阿拉伯字符的NReco幻影

使用出色的工具NReco.PdfGenerator(以PhantomJs为引擎)以c#生成报告时,遇到了一个阿拉伯语符号的问题。 HTML布局通常在浏览器中呈现。但是生成一个PDF我得到了 HTML有 欢迎任何想法首先,确保在HTML部分中有以下元标记: <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 是-我肯定有。如果删除此标记,则会有其他非阿拉伯语符号。@AngryDev如何向包装器提

Phantomjs 将getFormElement的输出与CasperJs中的字符串进行比较

我一直在尝试测试一个网页,看看一个功能是否有效。我尝试这样做的方式是将getFormValues的输出与该功能正常工作时的字符串进行比较。我编写了以下任务进行检查: casper.then(function seeifsaveworked() { if (this.getFormValues('.tf-field-inner') === 'foobar') { this.echo("SUCCESS: The site description has been succes

phantomjs-加载页面后运行render,但加载不会触发

我正试图用phantomjs创建一个图形到png的转换器,但很难让它正常工作。我看到的几乎每一个例子都使用一些外部URL,就好像你对它所做的一切都是刮取,而且文档非常缺乏 为了进行测试,我创建了一个非常简单的d3函数,其中添加了一个标记和一个蓝色圆圈。查看SO上的其他问题和示例,我将其连接到onLoadFinish,但该事件从未触发 我猜我需要打开页面,但是打开只使用了一个url,这对我来说并不相关(再说一遍,文档完全缺乏信息。即使我看到我认为可能相关的东西,我的。这是) 这是我的密码: var

升级版本0.8.0后gulp mocha phantomjs出现问题

升级到gulp mocha phantomjs版本0.8.0后,我遇到了一些问题: 1)通过url对远程服务器运行时出错: Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///D:/MyDev/ljs_app/trunk/periscope/build/node_modules/gulp-mocha-phant mjs/node_modules/mocha-phant

安装phantomjs的旧版本

我想安装phantomjs(1.9.1)的旧版本。如果我跑 brew install phantomjs 它将安装新版本(2.0.0)。您可以在存储库中找到受支持的早期版本。1.9.1没有公式,但您可以使用brew安装自制/versions/phantomjs192安装1.9.2。(如果您确实需要,可以为1.9.1提供一个。)您可以使用brew search phantomjs查找版本化公式。请尝试以下命令: brew install https://raw.githubusercontent

Phantomjs casperJS向本地主机发送ajax请求,但未发送post req

本地主机被击中,但什么也没发生。console.log(req)时没有请求 首先,编写路由函数就像编写中间件一样: app.use(bodyParser.json()); app.post('/', function(req, res, next) { console.log(req); res.send('s'); }); app.listen(3000); 我假设您正在尝试发送一个JSON,如果您没有,您应该更改您的正文解析。如果您试图发送JSON,则应修改AJAX,因为

加快phantomjs屏幕捕获时间?

在运行PhantomJS提供的rasterize.js示例时,我发现我必须等待20秒或更长时间,直到生成网页图像 有没有任何可能的方法可以在不消耗大量资源的情况下加快速度?我基本上是想快速生成从装有PhantomJS的网页上捕获的一系列连续图像。如果我能以某种方式将PhantomJ输出到视频流中,那就太好了 现在,我想用PhantomJS在1~2秒内找到一个网页截图。如果已经有一个项目或库可以实现这一点,那也太好了。如果您的图像URL被硬编码为html响应,那么您可以执行以下操作: 获取html

Phantomjs CasperJS:禁用远程页面';s javascript,但仍然使用casper.evaluate?

感谢您阅读我的主题,如果有人能提出任何其他我应该探索的途径来实现以下目标,我将不胜感激 使用CasperJS或PhantomJS,我需要禁用属于我导航的页面的所有JavaScript,使其不被执行,同时仍然能够使用casper.execute运行我自己的JavaScript 有人知道我能做这件事的方法吗 是否可以使用onResourceRequested或onResourceReceived修改HTTP头或正文?或者有条件地取消请求?还是只读 在提供原始HTML源进行解析之前,您可以修改它吗

使用PhantomJs获取Iron.io worker的输出

我正在编写这个应用程序,它使用来自网站的一些信息,我正在使用PhantomJs来提取这些信息。现在,我希望用户能够运行我的应用程序,而无需在他们的系统中使用PhantomJs。这样更像是一个服务电话 我遵循了以下指南: 为了让PhantomJs工作并获得我需要的某些站点的信息,现在我可以使用Iron.io的web界面将工作人员排队并在日志中获得结果 我想知道是否有办法以编程方式获得执行结果。我已经查看了,但我需要进行身份验证,还需要提供不同的任务ID(我不知道如何获取)。Queue task=>

Phantomjs编写完全透明的图像

我的Debian服务器上的Simplerasterize.jsscript(来自phantomjs示例)有时会写入完全透明的图像(如果是PNG),但它有规则的维度。这种情况大多数时候都会发生,但很少有时候会形成正确的形象。 我不知道为什么会这样 我的系统: Debian GNU/Linux 7.2 (wheezy) with ext4 Phantomjs 1.9.2 rendering sites: http://www.yahoo.com/ and http://phantomjs.org/

PhantomJS通配符文件删除

我已经在网上搜索过了,但不幸的是,我找不到我想要的答案。PhantomJ支持通配符删除吗?这就是我在他们网站上找到的例子 var fs = require('fs'); var toDelete = 'someFile.txt'; fs.remove(toDelete); phantom.exit(); 但这不是我想要的。我想删除多个相同类型的文件。例如,假设我想删除此目录的所有(*.png)png。请帮助。我认为在PhantomJS文件系统模块中没有类似glob的方法,但是您可以简单地读

Phantomjs 如何在casperjs中单击浏览器提示

我正在创建一个自动化脚本来进行测试。因此,当我的脚本试图通过单击“注销”来注销时,它会提示确认窗口,脚本必须在该窗口中选择“确定” Source page looks likes: <script type="text/javascript"> function logOut() { if (confirm("Are you sure you want to log out of the system?\nClick OK for Yes

调试PhantomJS webpage.open失败

在PhantomJS中,webpage.open接受一个状态参数设置为“success”或“fail”的回调。根据文档,如果没有发生网络错误,则为“成功”,否则为“失败”。有没有办法查看导致失败的底层网络错误 我尝试加载的url在我将其放入浏览器时运行良好,当我在收到“失败”消息后拍摄屏幕截图时,我会看到我在调用webpage.open之前所在的页面(因此我不能忽略失败)。我正在使用Phantom进行测试,因此理想情况下,我希望在webpage.open失败时(或者更好的是,它永远不会失败!)能

Phantomjs 如何在CasperJS中获得POST请求后的响应

我有一段非常简单的代码,可以在post请求后从服务器端点读取响应。实际上,我正在将数据保存到数据库中,并等待响应,然后再进入下一步 casper.open('http://example.com/ajax.php, { method: 'POST', data: { 'title': '<title>', 'unique_id': '<unique_id>' } }); 我尝试了这些片段,但无法得到响应 caspe

chromedriver工作正常,但;phantomjs无法使用css选择器定位项目;

我正在为我的工作设计一些端到端测试,我已经通过chromedriver使用nightwatch.js启动并运行了它。然而,我们希望在我们的服务器上运行它,所以我希望能够使用phantomjs运行它。尽管测试使用chromedriver执行时没有发生意外,但Phantomjs会产生以下错误“Phantomjs无法使用css选择器定位项” 有什么想法吗?我在互联网上搜索了一个解决方案,但没有结果。我有时会在不同的浏览器中产生这种效果,而不仅仅是幻影。原因似乎是在对一个浏览器求值时没有加载元素(而对另

在Mac(约塞米蒂)上使用phantomjs#2.0.0运行casperjs的问题

我正试图在苹果电脑(约塞米蒂)上运行CasperJS,拥有PhantomJS#2.0.0。当尝试运行CasperJS时,我收到以下消息: "CasperJS needs PhantomJS v1.x /usr/local/Cellar/casperjs/1.1-beta3/libexec/bin/bootstrap.js:91 in __die" 我怎样才能让它运行?有人使用过吗?目前没有比1.1-beta3更新的版本包含此检查 最简单的修复方法是打开bin/bootstrap.js文件

如何设置环境变量PHANTOMJS_BIN

好的,我知道以前有人问过这个问题,但是当我看到答案时,我仍然无法正确设置环境变量。我尝试使用export命令,但export未被识别为内部或外部命令。有人知道如何在不使用export命令的情况下正确设置PHANTOMJS_BIN的env变量吗? 我遇到的错误是无法启动PhantomJS 找不到二进制C:\users。。 请设置环境变量PHANTOMJS_BIN 插件吞咽业力错误 因果报应带着密码离开 我的节点版本是4.4.2似乎您正在使用Windows。可以设置环境变量,如图所示。之后别忘了重新

  1    2   3   4   5   6  ... 下一页 最后一页 共 15 页