使用phantomjs读取响应主体

是否有任何方法可以通过phantomjs请求资源并能够访问响应的主体?这是phantomjs目前的一个大问题。公开(截至撰写之时)票证位于,但目前尚无可靠的解决方案。这适用于收集您的请求数据和响应数据,因此您无法收集您提交的帖子数据,然后使用类似CasperJS下载的方案重新发送。更新:关于“获取并使用所有其他资源(如图像、CSS、字体等)做一些事情”的其他可能含义,我最近在博客中写道。我相信从1.9.1开始在PhantomJS中实现这一点的唯一方法是应用补丁并重新编译 也许我误解了你所说的“

如何在phantomjs中使用google web字体

我使用的是phantomjs版本1.9.7,我相信它应该支持web字体。我已经插入了谷歌网页字体的字体,但当我自动截屏时,它只是显示我的备用字体。webfont在我的所有浏览器中都显示良好。有什么解决办法吗?我相信你的想法是错误的:-) Phantom的1.9.x系列仍然基于旧的WebKit代码,人们一直在报告web字体问题 好消息是幻影2.0的技术预览显然即将发布;目的是成为关注状态的最佳场所。而且,从记忆中,有人报告说网络字体使用成功(但我可能错了,因为快速搜索邮件列表档案并没有发现一条明确

将Phantomjs绑定到网络接口

我目前有多个网络别名(eth0、eht0:1、eth0:2),每个都有自己的私有ip,而私有ip有自己的公共ip。当将远程web驱动程序与phantomjs(ghostdriver)一起使用时,它总是选择本地主机(请参见BUG)作为客户端参数--webdriver=ip:port,因此我不能依赖phantomjs来选择正确的接口 我目前的印象是,我将不得不使用IPTABLES。我想在连接到phantomjs(ghostdriver)驱动程序时,使用远程web驱动程序将java程序的任何实例路由到

Can';不要在服务器上安装phantomjs

我很难在服务器上安装phantomjs。我在任何地方都没有找到很好的方向,我找到的最好的方向在我试图完成它们时会给我错误。到目前为止,我正在遵循这些步骤并得到这些错误 已成功使用putty以root身份登录并运行以下命令 Line 1: yum install fontconfig freetype freetype-devel fontconfig-devel libstdc++ No errors Line 2: wget https://bitbucket.org/ariya/phan

PhantomJS-在page.open()上设置时间限制?还是变通办法?

使用PhantomJS和bash,我正在开发一个小的反恶意软件,它读取一个网页,抓取所有向浏览器交付资产的域,然后打印每个服务器的原产国。它工作良好,除了一个网站有一个。。。嗯…'每5秒调用一个外部服务器的“次优”javascript。PhantomJS只是一遍又一遍地加载资源,page.open()永远不会完成,page.onLoadFinished()永远不会被调用 有办法解决这个问题吗?我可以在page.load()上设置时间限制吗?我想,作为一种解决办法,我可以对Linux进程设置一个时

Phantomjs docker容器上的幻影

我在向我们的网站docker容器添加PhantomJS时遇到了一些问题 我测试和生产了两个容器,但不知道如何将其添加到每个容器中 这些容器是用Dokku制造的,并且已经在运行。这是有点不同,所以我们无法拉出带有图像的新容器或编辑其DockerFile 此外,我们还使用了dokkurun在它们中使用了类似于wget的命令,但这不是一个交互式shell。此外,当使用ls进行检查时,使用wget下载的文件似乎不在容器中,即使下载完成。我将向Dockerfile添加如下内容: # PhantomJS E

Phantomjs加载资源错误“;“连接已关闭”;在SUSE Linux中

当在Phantomjs(v1.9.8)中使用SSL打开URL时,我面临一个问题:资源请求错误“连接关闭” 操作系统信息:SUSE Linux企业服务器12 命令行如下所示: phantomjs --ignore-ssl-errors=true --ssl-protocol=any --debug=true rasterize.js https://192.168.70.57:8072/upgrade.html test.png 详细日志: 2015-03-10T17:59:45 [DEBUG]

使用Babel和PhantomJS,在浏览器上下文中执行的求值函数不';我无法访问帮助程序功能

我试图将PhantomJS与Babel从ES6编译到ES5的脚本一起使用 对于某些功能,Babel在文件末尾添加了一些帮助函数(如\u asyncToGenerator和\u typeof)来评估代码 但是在Phantom中,有一个函数evaluate(function(){…}),它是在浏览器上下文中执行的,因此它不能访问babel放入的那些助手函数 例如,如果我有代码: var page = require('webpage').create(); page.open(url, functi

Phantomjs 幻影问题

我使用phantomjs从单页应用程序加载一些页面 Phantom启动页面上的所有脚本,但是无法判断页面何时准备好进行检查。由于某些数据来自外部源,因此无法判断页面上的所有脚本何时完成 关于这方面的任何想法,我尝试等待,但这不是我的场景的解决方案,因为我不知道我在寻找哪些元素(外部源可以更改它发送的数据)您可以使用或检查您可以观察到的dom是否有任何更改,例如progressbar,加载所有内容时添加/删除的类。如何确定(在普通浏览器中)页面已加载?一个想法是,您可以每秒检查整个DOM,直到有一

在CasperJS或PhantomJS中获取资源内容

我看到CasperJS有一个“download”函数和一个“on resource received”回调,但我在回调中没有看到资源的内容,我不想将资源下载到文件系统 我想抓取资源的内容,以便在脚本中使用它。CasperJS或PhantomJS是否可以这样做?您可以使用Casper.debugHTML()打印HTML资源的内容: var casper = require('casper').create(); casper.start('http://google.com/', functio

Phantomjs 无法将模块函数传递到页面

我有一个名为util的模块,其中包含getMutedColor等方法getMutedColor依赖于同一模块中另一个名为rand page.includeJs('https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.10/d3.min.js', function() { var util = require('./util'); var svg = page.evaluate(pageContext.pageExec, data, meta,

使用phantomjs迭代类的所有div元素

我必须遍历一个类的所有div元素,并获取这些元素的内部html。如何使用phantomjs实现这一点?尝试使用、评估和文档。queryselectorAllphantomjs是javascript,因此您可以使用普通的javascript方法。您还可以注入jquery,这将使它变得更容易。

Phantomjs 摩卡幻影设置

我想知道是否有更好的方法用phantomJS测试mocha测试,而不是每次测试都有一个html文件。那么有没有grunt插件或者类似的东西可以让我在单个JavaScript文件中编写测试,并在运行测试时连接这些文件?你看过grunt mocha吗?另外,为什么每次测试都必须有一个HTML文件?可以在同一HTML文件中包含多个套件 <script src="spec1.js"></script> <script src="spec2.js"></scrip

如何在CasperJS/PhantomJS脚本中与用户交互?

想象一下这样的脚本 system = require "system" system.stdout.write "What's your name? " name = system.stdin.readLine() system.stdout.writeLine "Hello, #{name}" 通过 casperjs name.coffee 我希望能够在用于运行脚本的终端中与用户交互,但我陷入了readLine()调用。根据文档,phantomJS可以与标准输入进行通信。请参见此示例

Phantomjs remoteDebuggerPort vs--远程调试器端口phantom.JSON配置

当我尝试对phantom.js使用以下JSON配置时,remoteDebuggerPort参数被忽略: { "localToRemoteUrlAccessEnabled": true, "webSecurityEnabled": false, "remoteDebuggerPort": 9001, "remoteDebuggerAutorun": "yes" } (其他每个参数都正常) 当我这样称呼它时: phantomjs.exe--远程调试器端口=9001。

使用PhantomJS从文件系统打开URL

在中,我可以了解如何使用http打开页面 如何使用网页模块从文件系统打开url 我试图省略http://,并在url中添加。/some_dir/foo.html,但似乎失败了 我试过这个: var page = require('webpage').create(); var fs = require('fs'); fs.changeWorkingDirectory('../foo/bar'); page.open('file://index.html', function(status)

Phantomjs 业力发射器:等待15秒

有了新的FantomJS karma启动器,我每次运行测试时都会遇到一个恼人的“等待15秒” 与此问题远程相关的唯一页面如下: 我已经交换了node和karma版本几次,试图让它正常工作,但没有成功。有人遇到过这个问题吗 以下是我使用的工具组合: 我不建议使用phantomJS。人们报告说,它的功能可能不同于Chrome或其他浏览器。此外,您还需要下载它,这可能会在出现错误时无法恢复 使用Chrome和任何其他您想要支持的真实浏览器更健壮、更可靠。事实上,在真实浏览器中运行测试是Karma的主要

如何在后台启动phantomjs?

我试图通过cron启动一些phantomjs脚本,但由于它正在等待phantom.exit,但我在第一个脚本中保持页面打开一段时间,下一个脚本将不会启动。谁知道这个问题的解决方案呢?在linux中,您可以通过在命令末尾添加&来运行后台进程

Phantomjs 当使用casperjs执行.click()时,打开url

我使用url“x”找到下一页按钮并执行。甚至在上面单击()。.click()事件工作正常,我没有发现任何错误。执行.click()时,如何使casperjs重定向到下一页。我曾想过使用casper.open(),但找不到将其与.click()结合使用的方法 单击链接后,CasperJS将打开下一页,无需额外调用open()。您需要使用then()或waitFor*()函数来执行下一页的下一步 var casper = require('casper').create(); casper.star

从PhantomJS调用到injectJS公开变量

我在入门页面中介绍了注入jQuery的示例,效果很好。我在同一个目录中有一个jQuery的本地副本,并执行如下操作 if(page.injectJs('jquery.min.js')) { page.evaluate(function(){ //Use jQuery or $ } } if(page.injectJs('myScript.js')) { console.log('myScript injected... I think'); page.evaluate

Phantomjs 无法加载url,然后无法发送登录参数

我尝试在tumblr中自动登录,运行建议的脚本,但phantomjs只显示失败的尝试: [info] [phantom] Starting... [info] [phantom] Running suite: 3 steps [debug] [phantom] opening url: https://tumblr.com/login, HTTP GET [debug] [phantom] Navigation requested: url=https://tumblr.com/login, t

Phantomjs 幻影

我在buildbot和phantomjs的帮助下实现codeception 这一切都很好,buildbot在提交时启动codeception,我让phantomjs在后台运行,接受来自codeception和de WebDriver的连接 然而,问题是phantomjs正在保存cookie,因此我的第一个测试(登录)总是失败,因为用户已经登录 如何在每次测试运行后重置phantomjs的cookies 我尝试重新启动phantomjs,这解决了问题,但我不知道如何使用buildbot实现这一点。

PhantomJS在模拟管理员用户时不会运行

出于不值得在此讨论的原因,我在web.config中模拟了一个管理员用户,如下所示 <identity impersonate="true" userName="DOMAIN\USERNAME" password="PASSWORD" /> 我的看法是: @ViewBag.Test 这是我的phantomJs文件: system = require('system'); system.stdout.write('asdf'); phantom.exit(); 如果我在web.c

Phantomjs 如何在每次测试之间完全隔离和清除环境?

我正在尝试使用CasperJS连接到SoundCloud。有趣的是,一旦您登录并稍后重新运行登录功能,以前的登录仍处于活动状态。在继续之前,以下是代码: casper.thenOpen('https://soundcloud.com/', function() { casper.click('.header__login'); popup = /soundcloud\.com\/connect/; casper.waitForPopup(popup, function() {

grunt mocha:PhantomJS超时,可能是由于缺少mocha run()调用

我尝试在requirejs中使用grunt mocha,但出现以下错误: Warning: PhantomJS timed out, possibly due to a missing Mocha run() call. Use --force to continue. 如果我尝试使用mochajs.org上最简单的示例,它可以工作,但由于某些原因,requirejs不起作用 这是我的档案 test/browser/runner.html: <!DOCTYPE html> <

PhantomJS加载空白页并运行脚本

是否可以加载空白页面并在该页面上执行一些javascript?如果是,怎么做?示例将不胜感激。PhantomJS需要一个DOM,它不会出现在一个空文件中。您至少需要为页面创建此结构,以便在页面上执行JavaScript: <html> <head> <!-- JavaScript goes here !--> </head> <body> </body> </html&g

在Phantomjs中,如果启用了磁盘缓存,如何从缓存中跳过某些资源?

为了节省带宽,我们为out phantomjs实例启用了磁盘缓存。我们需要能够做的是跳过对特定文件使用缓存(可以基于URL) 换句话说,我们希望缓存机制处于活动状态,但我们希望能够检查每个请求,并决定是否要跳过缓存并基于URL进行直接调用 例如,当我们收到资源时,是否可以删除所有缓存头 感谢任何建议。根据您的需求规模,您可以考虑编写自定义代理服务器,以您喜欢的方式处理响应头。作为奖励,您可以在代理上而不是在PhantomJS上缓存,从而为多个PhantomJS实例启用共享缓存。我们需要能够通过p

PhantomJS浏览器中rAF的时间戳错误

我在测试脚本中使用phantomJS浏览器,在动画过程中使用requestAnimationFrame(rAF)。当我在phantomJS中启动测试脚本时,时间戳在rAF中得到了错误的值。但它在其他浏览器中运行良好 请参考以下各种时间戳值 幻影JS:1486032943535.4844 铬:3918.819997879565 firefox:2997.8451083288005 如何在PhantomJS中修复此问题?您是否尝试过最新的PhantomJS 2.5beta?@Vaviloff:2.5

Phantomjs 转换后不显示html到pdf ASP.NET.Core 1.1图像

我正在使用html转换为pdf。一切都正常,但在添加标记时,它并没有显示我想要的PDF格式的图像。比如说, string image = "~/images/test.png"; string htmlToConvert = string.Format(@" <div> <table> <tr> <td> <img srcset='{0}'>

Phantomjs 如何呈现多个URL';将其转换为单个PDF

我试图打开一系列URL来呈现输出,然后使用PhantomJS合并成一个PDF,但是我找不到任何关于如何实现这一点的文档。我只是尝试和错误,但没有取得任何进展-希望有人知道如何做到这一点 我还没有完全了解PhantomJS,所以如果您知道更好的命令行、节点或JAVA工具,我会洗耳恭听(在本例中是眼睛) 下面是我用来呈现单个页面的代码。我尝试复制打开/渲染,但它总是覆盖PDF而不是附加到PDF var page = require('webpage').create(), system =

PhantomJS:在进行调用时指定用户代理

我使用PhantomJS调用网页,如下所示: page.open('http://example.com', function (s) { console.log(page.content); phantom.exit(); }); 我在Drupal Simpletests的上下文中使用它,它要求我设置一个特殊的USERAGENT,以便使用测试数据库而不是真实的数据库。我想通过特定的用户代理获取网页。例如,在使用Curl的PHP中,在进行Curl调用之前,我可以使用CURLOPT_US

Phantomjs 使CasperJS完全重新加载片段(hashbang)链接

当我使用这个示例时,我发现同一页面上的一系列hashbang链接(动态创建不同的内容)只在第一次生成内容。对于所有其他结果,使用第一个链接中的this.getHTML() 例如,当我加载http://test.localhost/它会发现: http://test.localhost/#!/page1 http://test.localhost/#!/page2 http://test.localhost/#!/page3 每次迭代都使用#的内容/第1页。当我以相反的顺序添加列表时,每次迭代都

Phantomjs 为什么不在CasperJS中执行evaluate?

CasperJS有一个问题。在我想填满一页文字之前,一切都正常。编写所有代码: phantom.casperPath = 'path\\to\\casperjs'; phantom.injectJs(phantom.casperPath + '\\bin\\bootstrap.js'); var url = "someurl"; var someText = "text"; var casper = require('casper').create({ clientScripts:

Phantomjs 有没有办法调试PhatomJS';s page.render()函数?

我使用的是标准PhantomJS库中稍微修改过的rasterize.js。对于某些页面,它不会创建图像。即使将任何错误处理程序附加到我可以找到的页面,我也不会得到任何输出,就好像创建了图像一样 我想知道的是,是否有办法从“page.render()”函数本身获取某种错误消息或输出,还是我一直在摆弄有问题的页面?我不相信有,但如果元素丢失,则不会生成任何图像。你查过了吗?也许你需要等待一段时间,直到它被填充。我已经尝试增加超时时间,但没有效果。另外,我确信尸体标签是存在的。这是一个非常复杂的动态生

Phantomjs Casperjs无名称填充输入

我想使用facebook共享对话框 和casperjs在一起 我成功地从第一个下拉列表中选择了post模式“group”,但当我尝试填充group name输入时失败了(我认为它使用ajax下拉列表) 如果运气不好,这是我的密码 var casper = require('casper').create({ pageSettings: { loadImages: false, loadPlugins: true,

can';t使用phantomjs 1.9将传单SVG矢量层渲染为png

我正在使用传单API构建一个映射应用程序 我想使用phantomjs生成地图的静态截图 例如,尝试呈现此页面时: 使用 phantomjs示例/rasterize.js test.png 导致图像缺少SVG覆盖。我曾在Windows7和FedoraCore15下使用预构建的二进制文件进行过尝试。此外,我在FedoraCore15下从源代码编译了它。两个平台上的所有构建都产生了相同的行为 是否有人使用phantomjs成功地将传单地图渲染到PNG 谢谢。我刚刚遇到了同样的问题,增加超时(至少到5

Phantomjs CasperJS可以访问一个系统上的浏览器元素,但不能访问另一个系统上的浏览器元素

我对CasperJS(版本1.1.0-beta3)和PhantomJS(版本1.9.2)有问题。我在我的工作机器上写了一个脚本,它运行得很好。不过,我希望这个脚本在另一台机器(测试机器)上运行,所以我在服务器上创建了一个SVN repo,并从测试机器将一个网络驱动器映射到它。在repo中,我有我的脚本、提取的CasperJS zip的内容和phantomjs.exe。我还更新了测试机器上的系统路径变量 我在本地机器上映射了相同的网络驱动器,在那里它以前运行良好。它在那里仍然运行良好,即使是从网络

如何为mocha phantomjs设置测试

我在mocha phantomjs的每个教程中都会看到一个测试工具html文件和一个单独的javascript文件 这是每次测试的正确方法吗?我想为我的网站中的每个页面创建一个单独的测试,但为每个测试用例复制一个html文件似乎有些过分/疯狂 Granged,这是我第一次尝试使用mocha phantomjs,但是,为每个测试用例创建一个html文件和一个js似乎真的很奇怪 做这类事情的标准是什么?我已经在谷歌上搜索了大约一个小时,找不到任何好的例子。我知道这看起来很奇怪,但是。。。对 您需要/

PhantomJS不在OS-X上工作

我最近将操作系统从El Capitan升级到Sierra。现在我无法运行JS单元测试套件,它在控制台中给出了以下错误 [exec] INFO [framework.browserify]: bundle built [exec] INFO [karma]: Karma v0.12.35 server started at http://localhost:9876/ [exec] INFO [launcher]: Starting browser PhantomJS [exec] ERR

Phantomjs 未定义的方法“get';零级:零级

我们需要一些帮助来找出我们在测试中遗漏了什么。我们正在尝试运行headless phantomjs测试,并得到错误: nil:NilClass的未定义方法get' 你是说?得到 拿到钥匙 宝石(命名者) features/welcome\u登录。feature:4:在中,如果我导航到“” env.rb=

用CasperJS/PhantomJs刮

我想用CasperJS从一个流行站点删除一些数据。我已经用代理池成功地获取了一些数据。现在我担心的是HTTP请求头,它与我的HTTP请求一起出现。 我知道有很多关于我和我的服务器的信息,所以是否存在删除或修改传出HTTP头的方法。您可以使用headers属性向casperjs添加自定义头。您应该能够更改您关心的标题 例如: 您可以使用headers属性向casperjs添加自定义标题。您应该能够更改您关心的标题 例如: 任何代理都可以这样做,例如squid任何代理都可以这样做,例如squid c

Phantomjs Can';t通过Selenium Grid2使用RemoteWebDriver(Ghost、Phantom)

我今天试过GhostDriver和Phantomjs。 当我使用GhostDriver时,它工作得很好。 这样开始 phantomjs--webdriver=8910 然后 我的selenium测试用例可以通过 然后我试着用硒酸钠, 因此,我将selenium单机服务器作为一个集线器启动: D:\_Try\selenium>java -jar selenium-server-standalone-2.31.0.jar -role hub 2013-3-20 14:13:49 org.ope

Phantomjs CasperJS无法触发twitter无限滚动

我正在尝试使用CasperJS从推特上获取一些信息。我被无限卷轴困住了。问题是,即使使用jquery向下滚动页面,也没有任何效果。无论是滚动还是触发窗口上的确切事件(smth,如底部),似乎都没有帮助。 有趣的事情-当通过FF&Chrome中的JS控制台注入JS代码时,所有这些尝试都会起作用。 下面是示例代码: casper.thenEvaluate(function(){ $(window).trigger('uiNearTheBottom'); }); 或 CasperJs基于Ph

在PhantomJS中将旋转文本呈现为PDF

我有一个HTML页面,其中包含使用以下CSS旋转的几段文本: .rotate { transform: rotate(90deg); transform-origin: 50% 50%; } 当我直接在浏览器中拉出页面时,这将按预期呈现。当我通过PhantomJS呈现页面时,它似乎忽略了旋转 我升级到Phantom 2.0.0,但仍然是相同的问题 有什么办法可以让它工作吗?我在一个节点应用程序中用PhantomJS 1.9.18对它进行了测试 使用-webkit transfo

Phantomjs CasperJS没有';单击后无法更新页面

在将casperJS更新到最新版本后,我遇到了一个问题 this.clickLabel('Add a link...', 'span'); this.sendKeys('input[id="newLinkSourceUrl"]', "http://google.com", {keepFocus: true, reset: true}); this.clickLabel('Shrink', 'span'); this.wait(30000, function() {

Phantomjs 浏览器如何在http1上打开6个并行连接?

我想知道在http1上通信时,浏览器如何打开6个并行tcp连接。所以我试着分析幻影。在分析源代码时,我想知道一些事情 1) webserver.cpp的角色是什么? 2) 关于多个并行tcp连接的源代码在哪里?是在mongoose.c中的吗,它在“src/mongoose/”中 谢谢。哪个浏览器?你在说什么?这个问题与这些标签有什么关系?@NeilLunn我想知道在Web浏览器上实现多个http连接的原理。

从phantomjs禁用页面重定向

我想用PhantomJS下载一些图片,但我有一个小问题。 我的代码是: page.open( url, function ( status ) { page.render( "test.jpg" ); phantom.exit(); }); 问题是URL重定向到站点的主页。 如何禁用URL重定向并保存图像? URL类似于:。 我想从这个网站下载这个(和其他)图片,但是重定向对我来说是不可能保存图片的 我在网上没有找到任何可以解决我问题的方法。 有人能帮我吗?可能是@Artjom

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