jjzjj

casperJS

全部标签

javascript - 如何停止CasperJS的执行,让用户输入一些值,然后继续执行?

我正在使用PhantomJS和CasperJS来自动化我的一些任务。在其中一项任务中,我需要手动提供验证码字符串,然后才能实际处理该任务。对于这个问题,我能想到的是截取网页截图,然后手动查看截取的图像,并将验证码字符串保存到文本文件中。之后,我可以使用CasperJS中的文件系统模块来读取该值并继续执行该过程。我想知道执行此类任务的最佳方法是什么。 最佳答案 由于CasperJS的结构化方式/控制流与PhantomJS相比,这样的任务并不容易。1。拉取方式(文件轮询)假设有一个辅助程序(类型1)处理显示验证码、接收输入并使用验证码输

javascript - PhantomJS/CasperJS - 无限期地保持 session 打开并通过 HTTP 与其交互?

我想要一个CasperJS脚本来启动一个页面,然后无限期地保持打开状态,这样我就可以随时通过HTTP向它发送命令。问题是整个CasperJS进程在casper.run调用完成后立即关闭。我尝试通过在一个步骤中使用长时间的wait调用来解决这个问题,但是随后Web服务器无法对Casper执行任何操作,因为Casper正忙于等待wait调用完成。varport=6100;varcasper=require("casper").create();casper.start("http://google.com");casper.then(function(){//IfIincludethisw

javascript - 使用 CasperJS 将源代码转储到本地文件中

当我在CasperJS中使用download()时,我在系统中保存了一个文件,但该文件不包含网页的实际源代码。它只包含指向远程页面的链接。如何使用CasperJs将网页的源代码转储到本地文件中?getHTML()也只是将内容回显到终端上。如何将内容保存到文件? 最佳答案 首先导入文件系统库varfs=require('fs');提取htmlvarhtml=this.getHTML();//orvarhtml=this.getPageContent();复制到文件中varf=fs.open('/path/to/your/file','

javascript - 如何使用 Casperjs 在登录后下载 csv 文件

我想使用Caperjs下载一个csv文件。这是我写的:varlogin_id="my_user_id";varlogin_password="my_password";varcasper=require('casper').create();casper.userAgent('Mozilla/5.0(Macintosh;IntelMacOSX10_9_4)AppleWebKit/537.36(KHTML,likeGecko)Chrome/27.0.1453.116Safari/537.36');casper.start("http://eoddata.com/symbols.aspx"

javascript - 我可以使用 phantomjs/casperjs 获取原始页面源代码(与当前 DOM 相比)吗?

我正在尝试获取特定网页的原始来源。该页面在加载后立即执行一些修改DOM的脚本。我想在任何脚本或用户更改文档中的任何对象之前获取源代码。使用Chrome或Firefox(可能还有大多数浏览器),我可以查看DOM(调试实用程序F12)或查看原始源代码(右键单击,查看源代码)。后者是我想要完成的。是否可以用phantomjs/casperjs做到这一点?在进入页面之前,我必须登录。这在casperjs上运行良好。如果我浏览到该页面并呈现结果,我就知道我在正确的页面上。casper.thenOpen('http://'+customUrl,function(response){this.pag

javascript - CasperJS 是否提供对底层 PhantomJS 对象的引用?

我正在从PhantomJS迁移脚本至CasperJS,并且想知道Casper是否提供了对它在幕后使用的Phantom对象的任何引用。Phantom提供了一些Casper没有的功能(例如injectJs)。为了完整起见,这里是所有Phantom'sobjects:webpagesystemfswebserverchild_process通过查看casper对象的属性,我确实找到了对webpage对象的引用(casper.page),所以我特别用例被处理。我想无论如何我都会发布这个问题,以防其他人需要访问系统、fs、网络服务器或child_process。 最佳

javascript - 如何在没有表单标签的情况下使用 CasperJS 填写表单

我是CasperJS的新手,我在登录此站点时遇到问题http://weibo.com/login.php这是我尝试过的this.fill('form#contact-form',{'username':'test@test.com','password':'anypassword',},true);我不能使用它,因为它没有形式。所以我尝试了使用sendKeys的不同方法。this.sendKeys('.W_input','tinkerbell@gmail.com');现在我的问题是输入文本中没有ID,只有一个CLASS,用户名和密码都具有相同的CLASS。我怎样才能只使用那个类输入那个

javascript - Casperjs/Phantomjs - 在加载 google plus 主页时挂起

成功登录后,我尝试导航到https://plus.google.com/u/0/?tab=wX但casperjs挂起。最后的输出是:[debug][phantom]Navigationrequested:url=https://clients6.google.com/static/proxy.html?jsh=m;/_/scs/apps-static/_/js/k=oz.gapi.en.Z6gj5B0lzyA.O/m=__features__/am=IQ/rt=j/d=1/t=zcms/rs=AItRSTPU0_gqMrtQ831rDdqYv8Z1ZnxcbA#parent=https

javascript - 使用 PhantomJs 和 CasperJs 注入(inject) Js

我正在尝试使用CasperJS来抓取一个具有动态内容的网站,但到目前为止一直失败。该网站使用几个js库(例如Prototype)来使用自动完成来创建内容。因此,我试图插入一些值并触发事件来触发内容创建。插入和触发事件工作正常,但没有创建内容。我是CasperJS的新手,发现它在库的相对路径方面存在问题。我怀疑我的问题是由于库没有在我的页面环境中正确加载引起的。因此,我尝试使用injectJs像这样注入(inject)它们//...createcasperanddosomeotherstuffcasper.then(function(){this.echo(this.page.injec

javascript - 我可以在浏览器中查看在 casperjs 中运行的测试脚本以便于跟踪吗

您好,我在我的Web应用程序中使用jquery和Ajax作为前端,所以我正在使用casperjs自动化测试环境。由于使用jquery-ajax,我无法跟踪应用程序是否加载了页面以及许多其他事件。所以在开发期间,我正在考虑在浏览器中而不是以文本模式查看操作。是否有可能查看通过浏览器操作运行的测试脚本? 最佳答案 是的,在casper中使用slimerJS(gecko->firefox)引擎:http://slimerjs.org/它会打开firefox,您将在浏览器中看到您的自动测试。这个答案可能会让您感兴趣:Isthereawayt