草庐IT

Casperjs

全部标签

ruby - 使用 ruby​​ 的特定 dom 元素的屏幕截图

有没有办法做到this使用capybara+phantomjs。或者更复杂的东西,比如将整页屏幕截图裁剪到特定的dom元素? 最佳答案 Apullrequest已提交此功能。即将关闭,您将可以使用driver.renderselector:'#some_id`在下一个版本中。 关于ruby-使用ruby​​的特定dom元素的屏幕截图,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/

javascript - 使用 CasperJS 等待元素具有特定文本

我正在使用CasperJS阅读某个网页。我想要做的是在CasperJS中加载一个网页。然后,等待某个HTML元素具有特定文本。所以我想做的是:varcasper=require('casper').create();casper.start('http://www.example.com/somepage',function(){this.echo('Homepageopened');});//waitfortextbasedonaCSSselectorcasper.waitForText('.someCssClass','dolorsit',function(){this.echo(

javascript - casperjs:评估 document.querySelector 返回 null

我正在使用waitForSelector()和captureSelector()CasperJS中等待并使用CSS选择器选择元素的方法,然后保存它的屏幕截图。但是,我发现因为cssbackground已经被设置为transparent,截图变得很丑,所以我想设置background到white。我有madesure我在evaluate()中使用document.querySelector打电话,但这似乎不起作用。这是我的脚本(你可以忽略casper.start(...之前的所有内容,我只是包含了下一个代码片段的上下文的开始部分):varcasper=require("casper").

javascript - casperjs/phantomjs如何保存当前网页?

有没有办法用casperjs或phantomjs保存当前网页?我试图获取html并将其保存到文件中。但是生成的文件与当时的屏幕截图(使用casper.capture)有很大不同。有没有办法保存当前网页? 最佳答案 AndreyBorisko建议使用磁盘缓存来检索资源。我的解决方案效率不高,但您不需要解压缩文本文件。在使用resource.received注册资源后,我使用XMLHttpRequest检索所有资源事件处理程序。然后我将资源过滤为图像、CSS和字体。当前的限制是包含类似../或./的远程资源路径没有得到正确处理。我用ge

javascript - 如何在 CasperJS 断言失败时继续测试用例?

有没有办法在发生故障时继续测试套件?例如:casper.test.begin("",3,functionsuite(){casper.start(url).then(function(){test.assert(...);test.assert(...);//Ifthisassertfail,thescriptstopandthethirdassertisn'ttestedtest.assert(...);}).run(function(){test.done();});});我希望所有断言都经过测试,即使有些失败。可能吗? 最佳答案

javascript - 如何在casperjs中进行for循环

我试图点击“下一步”按钮N次,每次都获取页面源代码。我知道我可以在远程网站上运行任意函数,所以我只使用远程函数nextPage()而不是click()如何运行以下任意次数:varcasper=require('casper').create();casper.start('http://www.example.com',function(){this.echo(this.getHTML());this.echo('-------------------------');varnumTimes=4,count=2;casper.repeat(numTimes,function(){thi

javascript - casper.js 中的 setInterval 和 this.wait

我需要在每次迭代之间做一个3次2秒的循环。我尝试了这3个选项:选项1varcasper=require('casper').create({verbose:false,logLevel:'debug'});casper.start("http://google.com");casper.on('remote.message',function(msg){this.echo('remotemessagecaught:'+msg);})casper.thenEvaluate(function(){varx=0;varintervalID=setInterval(function(){con

javascript - CasperJS 找不到变量 $

我试图在我的测试中注入(inject)jQuery,但出现以下错误:ReferenceError:找不到变量:$这是我正在尝试测试的ruby​​onrails应用程序,在WEBrick上运行。这是所有代码:varcasper=require('casper').create({clientScripts:['jquery-1.9.1.min.js']});//makesurepageloadscasper.start('http://127.0.0.1:3000',function(){this.test.assertTitle('EZpub','EZpubnotloaded');})

javascript - phantomjs/casperjs 计算 DOM 元素

我想计算具有“nice”类的div元素的数量。我有选择器div.nice,但不知道要使用哪个casperjs类/方法。有一个tester.assertElementCount方法,但是有什么东西可以简单地返回元素的数量吗? 最佳答案 只是document.querySelectorAll("div.nice").length 关于javascript-phantomjs/casperjs计算DOM元素,我们在StackOverflow上找到一个类似的问题: h

javascript - 如何跟踪 CasperJS 中的所有链接?

我无法单击DOM中所有基于JavaScript的链接并保存输出。链接的形式为HTML下面的代码效果很好:varcasper=require('casper').create();varfs=require('fs');varfirstUrl='http://www.testurl.com/test.html';varcss_selector='#jan_html';casper.start(firstUrl);casper.thenClick(css_selector,function(){console.log("whoop");});casper.waitFor(functionc