我是Phantomjs的新手。我尝试使用下面的代码加载页面。但是在运行此代码时,给定的页面没有加载
console.log('Loading a web page');
var page = require('webpage').create();
var url = 'http://www.phantomjs.org/';
page.open(url, function (status) {
//Page is loaded!
phantom.exit()
关于这个错误codephantomjs://code/bootstrap.js:435
它背后的原因是什么?我如何修复它
我已经在全球范围内安装了phantomjs,并从该链接将所有code粘贴到名为twitter.js的文件中
我正在像这样通过php运行它
文件位于同一文件夹中
index.php
<?php
set_time_limit(0);
$response = exec('phantomjs twitter.js');
echo $response
错误:第1行缺少上
我正在尝试使用robot框架作为我们内部使用的网站的ui测试工具
要测试不同的用户角色,我使用基本身份验证()打开浏览器。不幸的是,这个方法已从chrome和chromedriver()中删除(对于测试,我使用PhantomJS)。
由于此问题,子资源请求被阻止。见附图
由于这个问题,js文件也被阻止,因此我的UI测试不能正常工作
有没有人对如何解决这个或其他测试方法有想法?所有浏览器自动化框架都会遇到这个问题。这描述了一种采用两步方法的方法:
使用
使用
用户名和密码将被缓存,后续访问将重用
我想学习phantomjs,但我找不到好的教程。我有两个问题:
以下代码中的问题在哪里(需要捕获按钮的标签并写入文件):
你能给我什么样的幻影教程?(非官方网站)
由于执行是沙盒式的,网页无法访问虚拟对象
var page = require('webpage').create();
var fs = require('fs');
page.onConsoleMessage = function(msg) {
phantom.outputEncoding = "utf-8";
我在尝试设置PhantomJS时遇到了一个问题,因此我可以通过Travis CI对我的JavaScript项目进行持续集成
基本上,即使是最简单的asyncTest也不会返回。当使用节点或在浏览器(如Chrome)中测试时,它工作正常
我的asyncTest如下所示:
asyncTest ("async test", function() {
expect(1);
console.log("Beginning test...");
setTimeout(function(
我试图在我的程序中运行phantomjs,下面是我正在运行的命令
Process exec = Runtime.getRuntime().exec(new String[]{
"C:/Users/buddy/Desktop/phantomjs-1.9.7-windows",
"-c",
"phantomjs "
+ pipedCommand + " "
+ si
尝试在phantomjs或slimerjs中为某些url执行render_multi_url.js时,我没有得到任何输出文件图像,例如:
www.tamasoft.co.jp/en/general-info/unicode.html
www.bbc.co.uk
我使用的是phantomjs和slimerjs的最新版本。render_multi_url.js是phantomjs附带的原始脚本。在slimerjs下,我没有得到任何图像,而在phantomjs下,我得到了超过9mb的部分图像。为什么我
我试图让这个测试工作,但它似乎幻影CSS不能采取这个特定的网站截图
/*
要求并初始化PhantomCSS模块
路径是相对于CasperJs目录的
*/;
var phantomcss=require./phantomcss.js';
测试,开始“测试”,5,功能测试{
phantomcss.init{
screenshotRoot:“/屏幕截图”,
失败的比较nsroot:“/屏幕截图”,
libraryRoot:“.”,
};
casper.onresource.error,function
我已尝试在超时时间内包装test.done,但我无法通过没完没了的不安全JavaScript尝试访问带有URL的框架关于:blank from frame with URL。。。警告。文档.getElementById'quoteBy'.children.length>1;在浏览器中工作,但不返回true并触发waitTimeout事件。发出此事件后,我才收到警告。我试着等了10000多天才装货,但都没用。我从@Artjom B那里得到了一些很好的建议,可以让我的脚本启动,但是这个似乎常年存在的
我知道这个问题存在不同的变体,因为我花了数小时寻找例子。基本上,我的脚本有3个我想要打开的链接,如果我要查找的内容存在于页面中,请等待,然后将页面的HTML保存在本地。然后对第二个和第三个链接执行完全相同的操作。我的代码在下面
var system = require('system')
var page = require('webpage').create();
var fs = require('fs');
var wd = 'mylocaldir'
我写了一个phantomjs脚本来废弃胡佛。
以下是我的流程:
1:使用Nodejs API从数据库获取数据
2:我一次取10行,把这些行一次一行传递给网站,废掉它问题就在这里。我不知何故想将报废的结果存储到一个数组或其他什么东西中,然后将这些数据传递回节点API以更新Azure中的数据库
现在,我可以使用nodejs API从azure获取数据,也可以放弃使用phantomjs。我唯一的问题是如何将结果存储在tempopary存储或数组中,然后将结果传递到nodejs API以更新azure中
每次触发某个事件侦听器时,我都希望casperjs退出()
casper.on "error", (e, stack) ->
console.log(JSON.stringify({'error': e, 'stack': stack}))
store_error(request_id, 'internal_error', {})
# casper.exit()
# @exit()
然而,这两种尝试都不起作用。有什么方法可以做到这一点吗?找到了答案:
ca
给定由rails绘制的以下链接
<a id="leave_community" data-method="delete"
data-confirm="Are you sure?"
href="/group_memberships/1">
Leave Us
</a>
当我运行以下水豚动作10次时
find("#leave_community").trigger('click')
然后它过去了五次,我得到了五次
Internal Server Er
我正在尝试获取此页面左侧菜单上的链接列表:
我要做的第一件事是点击“全部展开”链接(在左上角),这样列表就会展开
我尝试了多种方法以不同的方式使用Xpath,但在此页面上没有成功,这是我最后一次尝试:
casper.start('http://www.hpenterprisesecurity.com/vulncat', function() {
casper.wait(5000);
this.echo("---------- TITLE: ");
this.echo(th
我编写了一个小Bash脚本,它运行一些PhantomJS任务
例如:
./node_modules/.bin/phantomjs "phantomjs/snapshot.js" "$url" >file.html
如您所见,我使用PhantomJS记录的信息将其写入文件
我在带有JavaScript错误的URL上运行了该命令。由于一些未知的原因,每次我现在使用相同的URL运行该命令时,仍然会收到错误。。。尽管如果我对不同的Linux用户做同样的操作,一切都很好。另外,如果我使用不同的UR
当一个phantomJs进程抛出一个页面异常(比如某个资源异常)时,phantomJs进程是否会死掉/挂起,除非我们特别使用处理程序page.onResourceError()捕获异常?基本上,我想知道错误处理程序是否只是记录事件发生时的一种方式,或者更像是try..catch,在其中抑制异常,如果没有异常,错误会导致phantom挂起或停止执行。你说得对:,回调不会影响脚本执行,确实是为了调试目的-您不必捕获它们。强烈建议订阅page.onError,以帮助您调试脚本
另外请注意,Phanto
有没有办法使用phantomjs驱动我的firefox/chrome浏览器
我们有一系列casperjs测试,我想直接在浏览器中运行这些测试进行调试(或者只是纯粹的interest)
我似乎记得很久以前,在phantomjs成为纯headless之前,我可以通过让它在X上而不是在xvfb上运行并删除/取消对phantomjs.exit()行的注释来实现这一点 PhantomJs是一款浏览器,所以答案是否定的。不过,您可能想看看
您只需使用一个文件,该文件允许您提供一个浏览器来运行测试:
铬
铬
我正在努力解决CI构建中的PhantomJS/GhostDriver问题。()
不幸的是,目前还没有适用于Linux的PhantomJS 2.0二进制文件,我还没有成功地从源代码构建它
同时,有没有一种方法可以在旧版本的PhantomJS中运行最新的GhostDriver 有趣,但可能不是因为它直接包含在PhantomJS中。您可以尝试直接在1.x版本中运行GhostDriver,因为它只是JavaScript。PhantomJS的早期版本没有包含GhostDriver,所以它们也需要以某种方式
我正试图开始使用Mermaid CLI,但当我试图对源文件运行它时,它说它找不到phantomjs。(我正在运行Win 7 64。)
然而,phantomjs在我的路径中,我在命令提示符下运行它没有问题
C:\Users\Chris\Documents>phantomjs
phantomjs>
我还尝试直接将phantomjs路径放入。这没用
C:\Users\Chris\Documents>mermaid -e "C:\Users\Chris\AppData\Roaming
当涉及到中文/日文网站时,我对phantomjs有一些问题。起初它认为问题出在屏幕截图上。但事实证明,简单的page.open也有问题。(见下文)
执行将无限期地进行,而对于其他网站,如facebook.com,它会毫无问题地返回成功
有人能指出为什么会发生这种情况吗?
当我尝试使用render使用捕获功能时,我会得到如下类似的消息:
baidu.com
TypeError: null is not a constructor (evaluating 'g.m("ytbin.www.pagefr
我在js中设置资源请求日志
page.onResourceRequested = function(requestData, networkRequest) {
console.log('Request (#' + requestData.id + '): ' + JSON.stringify(requestData));
};
运行脚本
/usr/bin/phantomjs --ignore-ssl-errors=true --ssl-protocol=tlsv1 /tmp/js
我想使用phantomjs中的page.onResourceReceived事件处理程序将接收到的所有资源保存到磁盘中,我如何才能做到这一点?在phantomjs中是否有任何方法可以将接收到的所有资源保存到磁盘中
我认为这个问题与缓存无关:如果使用缓存,那么如何解析缓存文件并提取它们的数据?可能的重复是另一个问题!是的,这是一个不同的问题,但它包含回答您的问题所需的所有信息。保存的资源应枚举并重新阅读。如果使用缓存,如何再次枚举和读取每个资源?如何解析缓存文件并提取它们的数据?好吧,这不是你要问
我一直在尝试创建一个登录脚本,用CasperJS检查我的bing奖励积分,我正在查看调试输出,除了没有成功登录之外,一切看起来都很好。(所以我账户上的奖励没有显示出来)。我已经在chrome控制台中测试了这一点,并避免使用casper.fill,因为这样会刷新登录页面。登录信息是一个有效的测试帐户
var system = require('system');
var utils = require('utils');
var casper = require('casper').create
由于更新到OpenSuse 12.2,我不能再使用phantomjs(从1.5更新到1.8.1版本64位)来创建屏幕截图。问题是缺少对serif/sansserif字体的字体支持。仅使用类似courier/monospace的字体
此外,phantomjs的渲染速度非常慢(5秒或更长时间-->已解决)
我试着安装谷歌droid字体、免费ttf字体、bitstream vera字体、freetype、字体配置等软件包,但唯一的结果是使用了一些其他难看的字体
有人知道如何配置OpenSuse 12.
我一直在和实习生一起玩,让我的测试在浏览器中运行。为了更好地与我当前的工作流程集成,我正在尝试通过grunt和phantomjs运行测试。然而,我所有的尝试都失败了。我一直在考虑这个问题作为参考,但不能找出所有的步骤,使其工作
首先:甚至可以通过grunt和phantomjs运行测试吗
一点信息:
我不想/无法连接到酱油实验室或硒测试环境
我想在将jQuery作为填充依赖项的同时测试浏览器代码
我已经安装了Grunt 0.4.1和phantomjs 1.9.1
我没有测试任何ajax请求(因为
标签: Phantomjs
functional-testingkeyboard-eventskarma-runner
我有一个jQuery插件,它用输入元素限制字符输入。此插件(类似于)挂钩到keydown和keyup,以允许某些字符在特定条件下阻止事件:
jqueryInputElement.on('keydown',函数(事件){
如果(错误居中(事件))
event.stopPropagation();
event.preventDefault();
});
ErrorThingEntered使用事件中的字符代码和修改器键以及当前输入值(本例中缺少)执行一些古怪的操作。出于这个原因,我需要为不同的设备模
我正在尝试使用casper刮取一个网站,当加载一个页面时,我发现有很多导航请求isMainFrame=false。我猜这些是广告。一个来自详细日志的例子-
[debug] [phantom] Navigation requested: url=https://static.licdn.com/scds/common/u/lib/inject/0.4.2/relay.html?swf=https://static.licdn.com/scds/common/u/lib/inject/0.4.2/r
在Sun solaris和IBM-AIX上支持PhantomJS
我可以在github上看到一些关于此功能请求的线程,但不支持64位Sun solaris:
在Sun solaris和IBM-AIX上完全支持PhantomJS。
如果没有?我们什么时候可以期望有适用于Sun solaris和IBM-AIX的PhantomJS
我特别关注对以下操作系统的支持
Windows Server 2008 R2
Solaris Sparc 10
Redhat Enterprise Server 4.x
我正在尝试在我的共享主机中安装Phantomjs,有没有任何方法可以使用ftp访问和cpanel来安装它
谢谢 由于提供商施加的安全限制,它很可能不会出现
请与指定供应商(hostigator)的客户支持部门联系。我认为服务器故障可能是询问此问题的更好站点。它是堆栈溢出的姊妹站点,但更多地关注这样的问题。看看吧:谢谢,我刚才已经问过了!SF链接:你是说,你已经尝试安装了,但问题出在哪里?它是如何失败的?这个问题似乎属于Stack Exchange网络中的另一个站点。也许你应该试试。
我正在尝试用ClojureScript编写PhantomJS脚本。我以节点为目标,使用phantomjs节点[1]。我有一个工作的基本例子:
(def phantom (js/require "phantom"))
(defn -main [& args]
(-> phantom
(.create (fn [browser]
(-> browser
(.createPage (fn [page]
(-> pag
我最近升级到了node的最新版本,遇到了让Karma工作的问题。我使用的是Gulp,这是一个角度应用程序
为了能走得更远,我不得不
参考他们回购协议中karma runner的v1.0.0-0标签,因为NPM中尚未发布1.0.0
“因果报应”:git@github.com:karma runner/karma.git#v1.0.0-0“,
分叉以下回购,从他们的包.json中删除karma@>=0.9,因为我收到了NPMpeerDependencies错误
因此,现在当我运行测试
我想在Spooky.js中使用节点全局变量。那么如何将全局变量访问到SpookyJS中。请帮助我了解这一点?使用.bind()功能。例如:
var globalVar = "foo";
var spooky = new Spooky({...}, function (err) { ... }.bind({globalVar: globalVar}));
我已经编写了一段代码,可以解析一个页面中的所有URL-s。接下来,我想从每个解析的URL中获取一个href,并将其输出到一个文件中,然后用逗号分隔
到目前为止,我已经做了这个代码。它能够找到所有需要解析的URL-s,并将它们收集到一个名为output2.txt的逗号分隔文件中
var resourceWait = 300,
maxRenderWait = 10000,
url = 'URL TO PARSE HREF-s FROM';
var page = require('
我在几年前安装了casperjs,但我错误地删除了casperjs的路径,我几乎可以肯定这个版本没有使用phantojs!
我也在我的服务器(Linux)上用phantojs搜索了一条路径,但没有找到
我所掌握的唯一信息是casperjs的路径是:
/共享/n1k0-casperjs-cd1fab5
但是我在casperjs的存储库中搜索了一下,却找不出它是哪个版本
那么,你知道哪一个casperjs没有先决条件phantomjs吗
感谢您的支持。CasperJS只能与PhantomJS或Sli
我不太明白为什么PhantomJS只返回回调请求的url,而对于另一个,它返回请求id。如果对同一url有多个请求,那么“查找实际失败的请求”就不可能了。有人知道如何获取失败的请求id吗?为什么您真的需要请求id
由于在1.9中添加了onResourceError,因此可能缺少一些信息
解决问题的一种方法是将所有请求的资源都保存在一个数组中,如示例所示。
下面是一个非常基本的实现:
var page = require('webpage').create(),
system = requ
我正在用casperjs填写一个表单,并在提交时陷入困境。下面是我的代码片段:
this.then(function(){
this.waitUntilVisible('#ajaxSignin', function(){
this.capture("snapss.png");
this.fill('form#ajaxSignin', {
'j_username' : 'te
我试图捕获一个有重定向的网页(我没有实际的URL,我访问了一个URL,然后它将我重定向到实际的URL)
比如说
这是我正在捕获的URL
这会将用户重定向到
Phantomjs没有为这些链接创建图像
这是我正在使用的代码
var page = require('webpage').create();
page.open('http://facebook.com/930559626990858', function() {
page.render('facebook.png');
pha
我一直试图了解如何使用PhantomJS的子流程模块,但文档非常缺乏:
在哪里可以找到有关如何使用子流程模块的更多文档?API仅记录spawn命令。如何使用execFile和kill?这些都是方法吗?通过stdin/stdout/stderr与他们通信是什么意思 请编辑你的问题,并解释你到底想做什么而不知道怎么做。链接的文档页面似乎包含足够的信息来处理子进程,不管是派生的还是执行的。我更新了它。主要是我不明白ExecFile做什么(没有关于它的文档)。此外,我不明白他们说通过stdout/err
我试图在PhantomJS中使用$.getJSON,但不可能得到结果。有解决办法吗?我不能直接加载或包含JS。必须从同一域调用该页
所以我想打开一个页面,从那里打电话
以下是我当前的代码,它不起作用:
var jqueryUrl = "https://code.jquery.com/jquery-latest.min.js";
page.open("http://www.example.com/", function(status) {
if (status === "success"
我已经使用nightwatch.js为我的产品自动化e2e测试用例。它在chrome、firefox和其他基于UI的浏览器上运行得非常好。但是,我需要在phantom.js上运行它,以将其作为Jenkins的一部分运行,作为自动化的无头浏览器
我试过了,但是测试脚本不能与phantom.js一起使用
测试脚本:
describe('TEST PHANTOMJS#',function() {
afterEach((client,done) => {
client.end(()
我正在使用phantomjs从html生成pdf。该网页是用react编写的,我想它对于phantomjs来说太新了,因为我遇到了错误:
http://127.0.0.1:3000/static/js/1.chunk.js:150649
ReferenceError: Can't find variable: fetch
如何将页面解析为旧js?代码如下:
var system = require('system');
var page = require('webpage').crea
我已经完成了这里描述的所有步骤:
我的实习生配置如下:
define({
proxyPort: 9000,
proxyUrl: 'http://localhost:9000/',
environments: [
{ browserName: 'phantom' }
],
maxConcurrency: 3,
useSauceConnect: false,
webdriver: {
host: 'localhost',
port: 4444
我正在尝试呈现一个网页,但它无法处理某些网页。它适用于我的主页和谷歌,但不适用于脚本中显示的主页。我如何解决这个问题
脚本:
var page = require('webpage').create();
page.open('https://login.microsoftonline.com', function(status) {
console.log("Status: " + status);
if(status === "success") {
page.render(
我正在尝试使用PhantomJS捕获各种SVG/HTML文档的屏幕截图。我遇到了一个问题,屏幕截图没有捕获SVG的元素
以下是包含SVG代码的HTML,该代码不起作用。请注意,此时会显示SVG的文本元素。在这个文档中,这些元素给出了框的蓝色边框,而这些元素没有显示在屏幕截图上
以下是我认为有问题的代码:
<rect stroke-dasharray="0" stroke-width="2" ry="2" rx="2" height="60" width="100" stroke="#077
我正在为我的站点编写一个功能测试套件
我用Firefox和Chrome进行了一系列测试,我很满意。他们每晚都在我们的詹金斯包厢里运行,而且运行得很好
然而,因为我们的Jenkins box是一个服务器,Chrome/Firefox是GUI应用程序,我不得不在我的桌面PC上运行测试。这是一个痛苦,因为这意味着我必须每晚打开它,这对环境和成本都不好。另外,如果它在电源、网络或软件方面有任何问题,那么测试就会失败
因此,我想要一些关于在Jenkins box本身上切换测试以使用无头浏览器的建议
看来我
我在测试一个设置了behat+sahi+phantomjs的本地托管web应用程序时遇到了一个问题
我用behat+sahi+chrome运行了整个套件,效果很好
我还测试了一个小样本behat测试,测试对象是一个运行良好的活体
当我将我的基本url指向本地托管的应用程序或部署该应用程序的服务器时,问题似乎都会发生
像这样简单的事情:
@javascript
Scenario: Get to the login page
Given I am on "/login"
标签: Phantomjs
screenshotcasperjswebpage-screenshot
我正在尝试使用PhantomJS图像捕获来捕获浏览器的图像。
每次运行图像捕获功能时,图像的尺寸都略有不同。例如,一旦我得到1400x5185,如果我在几个小时后打开相同的url,我会得到1399x5185或1400x5186
我试过从左上角交叉,但像素有点歪斜。
注意:页面内容始终不变
如何始终确保在不压缩像素的情况下获得相同尺寸的图像?页面上可能会发生一些变化,否则PhantomJS没有理由渲染不同的图像
您应该详细检查图像的差异。如果格式不统一,广告可能是罪魁祸首。如果确定了正在更改的DO
我一直在使用代理IP和phantomjs来刮取数据。有人用过luminati.io和phantomjs吗?因为luminati使用最终用户计算机IP读取页面。它的成本很高,我需要知道是否有人已经使用过,我应该试试这个
谢谢,您需要将--proxy auth和--proxy传递到命令行,例如:
phantomjs--proxy auth=lum-customer-YOUR_customer-zone-YOUR_zone-country-YOUR_country--proxy=zproxy.lumi
我正在尝试完成以下教程:
教我的自我均值堆栈开发。据我所知,所有的软件包似乎都安装正确
当我运行“sudoyomeans”时,我收到了超过500行的错误和警告(超过了我在这里的帖子所能写的)。下面是第一批大约100个,希望有人能看到这种模式,并为我指出正确的方向
不确定这是否相关,但“sudo yo meanjs”可能需要10到15分钟才能返回这些错误
非常感谢
Error: Command failed: /bin/sh -c cd mean && npm install
np
我有一个长时间运行的脚本,它在几个不同的链接之间循环以执行其工作。我遇到了一个场景,在这个场景中,PhantomJS耗尽了资源,因为我正在重用它,所以页面对象没有被垃圾收集。下面我有一个简单的例子。我关闭()页面对象,并在每个循环周期结束时创建一个新的页面对象,但在关闭之后,Casper将挂起。正确的方法是什么
var links = ['http://www.google.com', 'http://www.yahoo.com'];
var casper = require('casper'
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 15 页