如何获取求值以返回回调的返回
ary = @evaluate ->
[1, 2, 3]
@echo "LENGTH: #{ary.length}"
@echo "TYPE: #{ary.constructor}"
产出:
LENGTH: undefined
TYPE: function
LENGTH: 3
TYPE: Array
然后输出函数体,它是Casper的一部分
基于样本,比如我希望ary成为我的数组。我错过了什么
更新:
顺便说一下,这是有效的:
ary = eval
我从量角器、茉莉花和幻影开始我的冒险。我想要实现的是使用PhantomJS从GragratorDemo运行测试。但我失败了,我不知道为什么。具体步骤如下:
我已经安装了量角器演示()
然后我安装了phantomjs:
npm install --save-dev phantomjs
然后我更新了配置(基于):
完整配置文件如下所示:
// Tests for the calculator. exports.config = { seleniumAddress: 'http://localh
我有一个脚本在一段时间后崩溃了。上面写着:PhantomJS崩溃了。请阅读《崩溃报告指南》。发生此类崩溃时是否可以重新启动脚本?我使用Windows任务调度器运行casperjs脚本
致意
有没有办法让PhantomJS本机支持ES6,我有一堆ES6代码,通过Babel转换成ES5,我需要完成的是对ES6代码而不是ES5代码覆盖率的准确测量。这是客户的要求,所以我不能告诉他停止要求这样的事情
Afaik NodeJS已经有了对ES6的本机支持,有没有办法用PhantomJS做到这一点?我最终使用了原始NodeJS(没有PhantomJS)+Express+JSDom(),POC看起来像这样:
"use strict"
const $module = require('module
我正在尝试使用phantomjs制作一个应用程序,它需要mailgun服务来发送电子邮件。由于没有官方的mailgun phantomjs库,我在电子邮件中附加文件时遇到了一些麻烦。电子邮件已成功发送,但我看不到任何附件
代码如下:
function ObjToQs(obj) {
var str = "";
for (key in obj) {
str += key + '=' + obj[key] + '&';
}
str = str.s
我正在尝试编写一个phantomjs脚本,该脚本将打印出此网页上的所有“”链接:
这是我的剧本:
var steps=[];
var testindex = 0;
var loadInProgress = false; //This is set to true when a page is still loading
var webPage = require('webpage');
var page = webPage.create();
var the_url
我从下载了适用于windows的“phantomjs-1.7.0-windows.zip”
我甚至在环境变量中设置了提取文件夹的路径。但是,当我尝试在phantomjs.exe命令提示符中输入任何命令(如phantomjs--version)时,会出现“parse error”。(我的Windows是64位的。)
为什么会抛出错误?在Windows命令提示符下键入phantomjs--version
如果您通过执行PhantomJS.exe来启动PhantomJS,那么现在就进入了Phantom
我正在使用casperjs运行基本脚本:
我看到,除了页面标题之外,我的控制台输出还显示了来自phantomjs的以下附加消息:
2014-01-28 15:14:01.150 phantomjs[19493:110b]*警告:在10.7及更高版本中,NSView类中的方法userSpaceScaleFactor已被弃用。不应在新应用中使用它。改为使用ConvertRectToBack:
2014-01-28 15:14:04.050 phantomjs[19493:110b]CoreText
phantomjs有一个非常酷的特性来捕获页面屏幕的某些区域。但是默认情况下,输出的PNG文件太大
有没有办法让它变小?可能是@ArtjomB的复制品。对我在那里给你留了个口信。
是否有一种方法可以使用ES6模块来组织CasperJS的测试,如果没有,组织测试的正常方法是什么?您可以使用patchRequire方法来包括您的CasperJS模块
文件:
在编写Phantomjs脚本时,有没有在Atom、Emacs或其他编辑器中使用autocomplete的方法
我正在将PhantomJS headless浏览器集成到我的一个项目中(目前使用的是1.6版)。在很大程度上,它在完成我需要完成的任务方面做得很好。然而,WebPage.open()调用工作方式的异步性质,以及在某个时候需要调用phantom.exit(),使得在无法预测客户端重定向的方向时处理客户端重定向变得很棘手
我想要的是一种只在任何元刷新(导致另一个页面)和绑定到onload事件的JavaScript重定向执行后调用phantom.exit()的方法。我可以理解为什么这是一个问题,因为理
我想呈现一个只在用户滚动页面时加载图像的页面。仅设置页面。滚动位置无效。我需要一些随时间改变滚动位置的东西。不确定这是否是最好的方法,但它可以工作。它评估页面中的脚本,该脚本随时间增加document.body.scrollTop,并在固定时间后生成屏幕截图
page.open "http://www.somePage.com", (status) ->
setTimeout(( ->
page.evaluate(->
pos =
slimerjs可以通过标准文本输入网页吗
例如,generateHtmlFileAndWriteToStdOut | slimerjs
我想在脚本管道中使用slimerjs 当前版本不支持stdin
当版本1.0发布时,该产品将与phantom js具有api奇偶性,并支持stdin 可能没有考虑到他们在最新版本0.9.6中添加了stdout支持。对于好奇的人(以及像我这样的人,他们在第一次阅读时误解了你的问题,并发布了一个涉及xargs!)的答案),下面是一个如何在PhantomJS中实现的
我想捕捉多个网页的截图,每个网页都有不同的高度。如何根据页面高度动态设置高度
大概是这样的:
casper.viewport(1200,“自动”)默认情况下,PhantomjS浏览器(CasperJS使用)会自动呈现页面的整个高度。在CasperJS中,相应的方法是
casper.capture()
要设置页面的水平宽度,请设置视口大小:
var casper = require('casper').create({
viewportSize: {width: 1280, height
使用link=document.querySelector()获取链接,并使用link.dispatchEvent()触发由ev.initMouseEvent创建的鼠标事件(“单击”,true,true)
这个链接应该得到一些响应,但是没有
我在chrome控制台中尝试了一些步骤,它工作正常。我可以点击“下一页”或“搜索”之类的链接,它也能正常工作。但是当我尝试使用ajax链接并希望
一些响应dom,它不工作,我发现
我已经被这三天阻止了,所以请求帮助
谢谢。您是否在PhantomJS脚本中添加
我有一个幻影脚本
var page=require('webpage').create();
var系统=要求(“系统”);
page.settings.userAgent='SpecialAgent';
var i=1;
var url='1〕http://www.google.cz/?test=“+i;
log(“url=”+url+”);
页面打开(url、函数(状态){
如果(状态!=“成功”){
log('无法访问网络');
}否则{
log('Opened ok');
phantom
我试着使用页面上的示例pagers yeoman.io 1366x768-selector'.page header',我得到的只是完整的页面截图。-selector或-hide属性对我都不起作用
我做错了什么
Ta
伊恩。在windows上,您必须使用其他引号。只能用于将连续参数传递给程序。所以不能使用'、'和'。由于解析中断了选择器,因此无法在页面上找到它,pageres默认为完整的页面屏幕截图。您在哪个平台上?Win/Tux/OSX/其他?您使用的是什么版本的Pagers&PhantomJ
PhantomJS在客户端还是服务器端工作?我知道JavaScript可以在客户端和服务器端工作,但我不知道PhantomJS基于哪一个?PhantomJS是一种无头浏览器。PhantomJSAPI用于控制浏览器本身,并允许您在DOM上下文中注入Javascript
PhantomJS是一个HTTP客户端。
您可以将PhantomJS放在服务器上作为自动客户端。这样你就可以考虑它的服务器端。但它的核心仍然是一个HTTP客户端
PhantomJS的目的不是使用鼠标和键盘来控制浏览器并完成一些操作,
我试图在我的业力测试中使用DLLReferencePlugin,但我不完全确定如何让它工作
我将vendors.js和vendors manifest.json放在src/static/
dll是用libraryTarget=var生成的,它可以在我的开发和生产网页包版本中工作。我的开发/生产版本使用一个html文件,该文件的根路径上有一个指向“vendors.js”的脚本标记。开发/生产构建将静态文件夹中的所有文件复制到目标文件夹。因此,脚本标记可以找到vendors.js
但是,我从Phan
我正在尝试使用PhantomJS通过登录身份验证自动从网站上抓取信息。
要访问页面上的登录表单,用户必须单击一个按钮,该按钮触发一个javascript函数,用于绘制表单。
在我的代码中,我只是简单地调用said js函数来绘制表单,然后尝试填充字段。
问题是phantomjs找不到新绘制的元素。
另一方面,如果在调用函数后拍摄屏幕截图,我可以看到函数上的元素。
访问页面上的其他表单元素没有问题,因此我认为问题可能是phantomjs试图在元素完全绘制之前访问这些元素
这是我的密码:
var p
我试图通过以下步骤在angular 8应用程序中实现phantom js:
npm安装karma phantomjs启动器——保存开发人员
npm安装intl--保存
添加导入'core js/client/shim'和导入intl至polyfills.ts
我在运行ng测试时遇到以下语法错误:
SyntaxError: Use of reserved word 'class'
at http://localhost:9876/_karma_webpack_/polyfills.js:2
嗨,我想做的是不要把网页作为
page.open(url);
但要设置已检索为页面响应的字符串。可以这样做吗?是的,它和分配给page.content一样简单。通常还值得设置page.url(否则,如果使用Ajax、SSE等进行任何操作,您可能会遇到跨域问题),而setContent函数有助于一次性完成这两个步骤。以下是一个基本示例:
var page = require('webpage').create();
page.setContent("<html><head>
获取此错误。当运行npm安装karma phantomjs时——保存开发我得到一个错误
WARN [config]: config.configure() is deprecated, please use config.set() instead.
WARN [plugin]: Cannot find plugin "karma-phantomjs".
Did you forget to install it ?
npm install karma-phantomjs --save-d
我正在使用PhantomJS自动化一个页面。我所做的是:
do{
console.log(i);
i++;
page.open(url);
do { phantom.page.sendEvent('mousemove'); } while (page.loading);
if(page.injectJs('./Search.js') == false){
console.log("Search.js Failed")
}
我正在从c#并行生成多个phantomjs.exe进程,以生成本地iis提供的pdf。使用wkhtmltopdf.exe时,我可以看到我的cpu(core i7-4790k)利用率始终高于90%,但使用phantomjs时,cpu利用率较低,为30-70%。
因此,与wkhtmltopdf相比,phantomjs生成所有我的pdf要慢一些。我想使用phantomjs,因为它渲染得更好。如何修复此问题?是否需要更多时间?是的,大约是时间的两倍可能您没有生成足够的进程。
我目前正在尝试使用phantomjs生成URL的缩略图。但是对于一些URL,它没有正确地生成图像。
我的测试代码如下:
var webpage = require('webpage');
page = webpage.create();
page.viewportSize = {width: 15,
height: 45};
page.zoomFactor = 0.30;
page.open('http://tools.cisco.com/security/ce
如何检查casperjs脚本中的对象
我尝试了console.log(arguments),但它只打印[object arguments]或[object object]
我希望看到这样的情况:
{
“firstparam”:“值”
...
}
就像在Javascript控制台或Node.js中一样
也许是幻影的问题,我不确定…我想我找到了:
用于简单字符串读取的JSON.stringify,例如
casper.test.comment(JSON.stringify(object));
我想知
当Phantom打开页面A和B时,对common.css的资源请求只有一次
--
示例代码:
casper.on('resource.requested', function(req) {
if (req.url.indexOf('common.css') != -1) {
util.dump(req);
}
});
--
每次如何发送资源请求
谢谢。那是因为内存缓存。作为一个无头浏览器,phantomJS有一个用于HTTP请求的浏览器缓存(基于HTTP头)。所
我正在使用poltergiest和phantomjs进行集成测试,我需要测试用户向下滚动页面并调整浏览器窗口的行为。我使用了page.driver.resize(width,height)和page.driver.scroll\u(left,top)。我在调用该方法之前和之后都拍摄了屏幕截图,但似乎什么都没有发生。已成功调用该方法,但对页面没有影响。有人知道为什么会这样吗?请尝试此选项以调整大小:
page.driver.resize_window(width, height)
我正在尝试使用phantomjs为以下文件解析xml,documentpreviewer1.js
var webPage = require('webpage');
var page = webPage.create();
var url = "http://xxx/sitemap.xml";
page.open(url, function(status){
if(status != 'success'){
console.log('Unable to
标签: Phantomjs
karma-jasmineyeoman-generator-angular
我正在使用yeoman、grunt angular bower和npm来运行我的angular web应用程序。当我运行grunt测试时,它抛出一些奇怪的错误,正如我在标题中解释的那样。在需要的地方,我也给出了正确的道路
以下是我的Karma.conf.js和Gruntfile.js文件
Karma.conf.js:
module.exports=函数(配置){
"严格使用",;
config.set({
自动观察:没错,
基本路径:“../”,
框架:[
“茉莉花”
],
档案:[
//鲍尔:
我试图将此代码放入一个变量中,然后从phatom调用该变量,phantom应该生成图形,例如:我将此代码保存在var test=“code”中,然后我在phantomjs中调用test,它应该生成图形,可能吗
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
d
我使用的是CasperJS 1.1,我想模拟单击文件字段,但运行测试时出现错误(项目使用的是AngularJS fwiw):
这个错误对我来说没有意义,因为我之前关于输入字段存在的断言实际上是真的。以下是测试文件:
casper.test.begin "Create gallery page", 1, (test) ->
casper.start "http://localhost:3000/galleries/new", ->
@then ->
t
这是我的密码
var page = require('webpage').create();
page.open('http://github.com', function() {
page.render('example.png');
});
这是我得到的
------------
Welcome To Zscaler Directory Authentication
------------
Authenticating user to the Web Security Servic
我试图用PhantomJS刮网站,我需要在网站上执行一些操作。我想使用jQuery来实现这一点。我创建了以下代码
page.open(url, function (status)
{
if (status === "success")
{
page.injectJs('jquery-1.11.1.min.js');
var links = page.evaluate(function()
我有个问题。。。
我正在使用casperjs 1.1.0 beta3
我已经在Windows8.1的系统变量中设置了phantom和casperjs路径
我试着运行js代码,它和casperjs文件夹放在不同的文件夹中。我知道执行死刑的时间太长了。
但是当我把js代码放在casperjs文件夹的samples文件夹中时,执行时间太快了。
为什么会这样?
那么,如果我想使用casperjs命令快速执行js文件,而不将js代码放入casperjs文件夹,该怎么办呢?
有什么建议或解释吗?
提前谢谢这
当一个页面有元刷新重定向时,我无法获取它被重定向到的页面的内容。即使我使用setTimeout并等待10秒以确保加载了最后一个页面,当我执行page.content时,我也会在重定向之前获取页面的内容
有什么我能做的吗
这是我的密码:
var mainUrl = "http://t.mobitrk.com/?a=t&aff_id=233&tags=df0a14a1-e673-4082-80c1-5283f4daa11cx&o_id=4879&sub_id=3475
我正在尝试使用phantomJS从网页创建pdf。我想pdf只是一个单一的页面长度,是我的网页相同的高度。如果我根本不设置paperSize或viewportSize,那么它会创建一个高度几乎正确的页面,它只是稍微短了约100px。如果我检测到页面高度并使用它来设置viewportSize,我也会遇到完全相同的问题,它会短约100px。有没有办法让phantomJS根据网页大小创建pdf?我希望它是准确的,因为页面是深色的,并且在页面末尾有一个大的白色块看起来非常糟糕(如果我添加一个恒定的视口高
我正在尝试无头运行一个用量角器编写的测试套件(使用PhantomJS),但是当我运行命令'PhantomJS testSuiteFile.js'时,我得到一个错误:ReferenceError:找不到变量:browser。浏览器变量在我的所有测试中都很重要,那么有没有办法让phantomjs找到并使用浏览器对象
我还尝试将我的量角器配置文件配置为使用phantomjs,我使用文档中推荐的命令启动了phantomjs的selenium webdriver:phantomjs--webdriver=
我正在尝试通过运行集成测试。我通过options对象设置了-proxy标志,每个ajax请求都返回一个404NotFound错误
Grunfile.js
QUnit测试本身失败,在最简单的AJAX请求上出现404错误:
test/index.html
在以下情况下失败:
Running "qunit:all" (qunit) task
Testing test/index.htmlError: 404
值得注意的是,显式引用主机url:'http://192.168.1.1:8080/svc/
刚刚安装了phantomjs,mac os x yosemite。每当我使用任何参数运行/bin/phantomjs时,我都会被杀死:9。有什么想法吗?关于:在osx yosemite上运行phantomjs,请下载位于以下位置的构建/修复程序:
原版:
安装UPX。UPX是一个可执行的打包和解包程序
$ brew install upx
解压phantomjs可执行文件
$ upx -d phantomjs-2.0.0-macosx/bin/phantomjs
$ ./phantom
我正在尝试生成一个PDF文件,其中包括作为PDF一部分的Highcharts。i、 html表格之后是图表,更多的表格等等。我使用的是PhantomJS(并且有Highcharts Convert.js)。当我使用PhantomJS rasterize.js文件创建PDF时,我得到了PDF,但高图显示错误(例如,列栏没有上升到正确的数字-如果值为200,则该栏将上升到50)
我认为带有highcharts-convert.js的Phantomjs只适用于每个图形(就像从图表中另存为PDF一样)。
phantom.js(>=1.7.0)是否支持其控制台上的多行输入?按下Enter键或META Enter键都不能在下面工作
phantomjs> function foo() {
Parse error
我想下载一个CSV文件,它是通过POST请求点击按钮生成的。我在casperJs和phantomJS论坛上尽了最大努力,结果空手而归。在像firefox这样的普通浏览器中,post请求后会出现一个浏览器下载对话框窗口。如何在PhantomJS中处理此情况
TTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
我在尝试从Mocha测试套件向服务器发送PhantomJS调用时遇到问题
问题
我正在尝试使用PhantomJS对端点进行调用。我的第一个电话正在工作
但我有两个问题:
当前脚本第一次运行良好,但在观察某些文件时连续运行会导致测试失败。我能解决这个问题吗
这似乎不是进行这些测试的好方法,有更好的替代方法吗
设置:
作为观察者吞咽
大口喝摩卡以运行测试
幻影同步以执行一些end2end测试
摩卡测试文件(简化):
Gulpfile(简化):
错误:
➜ [project_dir]git:
我正在使用casperjs浏览站点,但在登录过程中遇到问题:
在站点中,当您登录时,浏览器切换到一个新选项卡,登录表单重置为空白,我看到这个新选项卡包含导航调试中请求的数据,如下所示:
[debug] [phantom] Navigation requested: url=www.thesite.com, type=FormSubmitted, willNavigate=true, isMainFrame=false
我注意到isMainFrame=false,并尝试使用一些方法(如switc
我正在尝试使用Karma和PhantomJS作为浏览器运行jasmine测试用例
我得到以下错误:
ReferenceError:找不到变量:performance',因为我的代码中添加了Microsoftdev tools提供的性能API
如何消除这个错误?另外,如何防止PhantomJS在运行单元测试用例时出现任何JavaScript错误?性能计时API现在由PhantonJS 2支持。您可以使用karma-phantomjs2-launcherkarma launcher。我在Phanto
我们正在尝试添加测试,作为实时站点上更新部署的一部分。我们上一次进行测试时(一周前),测试运行良好,但现在所有测试都抛出了错误。我们试图找出答案,但没有找到任何值得的
更新1:我们发现,由于软件包更新,功能中断。以下是更新包的列表
barryvdh/laravel-debugbar 2.0.6 -> 2.1.1
barryvdh/laravel-ide-helper 2.1.0 -> 2.1.2
codeception/codeceptio
我很难使用submit按钮,当在Selenium works中运行相同的代码时,它在phantomJS中没有被单击。
有人有什么建议吗(用Java)
公务舱航班
{
网络驱动程序;
File File=新文件(“C:/Program Files/phantomjs-2.1.1-windows/bin/phantomjs.exe”);
@试验
public void homePageFlightDetails()引发异常
{
//设置重影驱动程序
setProperty(“phantomjs.bi
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 15 页