casperjs 相关问题

CasperJS是一个基于JavaScript的导航脚本和测试实用程序,适用于PhantomJS(WebKit)和SlimerJS(Gecko)。有关在node.js中使用CasperJS的信息,请参阅SpookyJS。

Casperjs:如何操作javascript分页(由javascript重载的链接)

使用casperjs,我正在从网站上抓取一些信息,在此页面中有一个通过重载链接创建的分页 使用casperjs,我正在从网站上抓取一些信息,在此页面中有一个通过重载链接创建的分页 <a id="ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2" href="javascript:;//ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2"><img src="themes/images/fleche-suivant.gif" alt="Aller à la page suivante"></a> 有两种方法可以进入下一页: 单击下一步按钮 如图所示 或更改字段的值如图所示然后单击键盘上的回车键 我已经尝试了两种方法,但都不起作用,有人可以帮我编写其中一种方法吗? var mouse = require("mouse").create(casper); var url = ''; var url2 = ''; var tst; casper.test.begin('Scraping start', function(test) { casper.start(url, function() { this.test.pass('Opened 1st page'); }) .thenOpen(url2, function(){ this.test.pass('Opened 2nd page') }) .then(function(){ //these are the tow methodes I try to click on the next button //this.mouse.click("#ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2"); this.thenClick(' div.liens a#ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2'); }) .then(function() { tst = this.evaluate(function() { return __utils__.getFieldValue( '[name="ctl0$CONTENU_PAGE$resultSearch$numPageTop"]'); }); }) .run(function() { console.log(tst); test.done(); }); }); casperjs的版本是1.1.4,我使用的是phantom浏览器 这通常会导航到我这边的第二页。尝试一下,您还可以保存屏幕截图以供更多调试用途。 var casper = require('casper').create(); var url = 'https://www.marchespublics.gov.ma/index.php5?page=entreprise.EntrepriseAdvancedSearch&AllCons&EnCours&domaineActivite=1.15'; casper .start(url, function() { this.echo('Opened page ' + this.evaluate(function() { return document.title; }), 'INFO'); }) .then(function() { if (this.exists('a[id="ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2"]')) { this.echo('the heading exists'); } else { this.echo('Does not exist'); } }) .thenClick('div.liens a#ctl0_CONTENU_PAGE_resultSearch_PagerTop_ctl2') .wait(5000) .then(function() { this.capture('exit.png'); }) .run(); 希望有帮助!

回答 1 投票 0

检查/记录 PhantomJS/CasperJS 使用了多少带宽

是否可以检查/记录每次运行 PhantomJs/CasperJS 期间传输了多少数据? Phantom/Casper 的每个实例都有一个分配给它的 instance_id(通过 PHP 函数...

回答 1 投票 0

CasperJS/PhantomJS 比 Curl 慢很多

当我尝试curl www.yelp.com 时,需要1.1 秒。然而,使用 CasperJS 检索页面需要一分多钟的时间! 这是正常的吗?我如何找出导致 casper/phantom 速度减慢的原因?我怀疑...

回答 1 投票 0

CasperJS 将数据传回 PHP

PHP 使用 exec() 命令调用 CasperJS。 CasperJS 完成检索网页部分内容等工作后,如何将检索到的数据返回给 PHP?

回答 2 投票 0

在 Mac 上安装 casperjs 的困难

在我的 Mac 上尝试安装 casperjs 几天后,我正在寻求一些帮助。 我首先使用“brew install”方法和 NPM,这是终端的消息: 酿造安装casperjs 正在更新自制程序... ==...

回答 2 投票 0

Phantomjs / Casperjs 打开 bt wifi 并登录 [已关闭]

好吧,有人可以告诉我如何自动登录我的 bt wifi 统计信息并将生成的 HTML 保存到文件中吗 https://www.bt.com/wifi/secure/statuscheck.do 有人可以吗...

回答 1 投票 0

Casperjs/Phantomjs 修改 headers

我正在尝试更改一些标题,但没有任何效果: var casper = require('casper').create({ // 步骤超时:15000, 详细:错误, 日志级别:'错误', 页面设置:{ ...

回答 2 投票 0

亚马逊卖家中心登录Scrape PhantomJS + CasperJS

首先我想说的是,我们只抓取我们自己的帐户,因为我的公司需要来自我们自己的仪表板的数据,而我们无法从 MWS API 获取这些数据。我对这些API非常熟悉。 我...

回答 2 投票 0

CasperJS:亚马逊无限验证码登录

我正在使用 Casperjs 登录我的亚马逊帐户并检索一些数据。 但偶尔我会在登录时收到验证码。所以 casperjs 向我显示验证码,然后我手动返回解决方案......

回答 3 投票 0

在magento2中使用casperjs插入stripe信用卡号。

我试图在magento 2中使用casperjs在一步结账处做一个功能测试。在这种情况下,我使用Stripe作为支付网关,并且有一个没有id或名称的iframe。(类名...

回答 1 投票 0

如何从链接直接下载图像以保存或下载CasperJS单击按钮?

我正在尝试使用CasperJS下载图像。问题是我需要从单击按钮事件或直接下载链接下载此图像。我还没有代码,所以任何人都可以...

回答 1 投票 0

评估函数中的JS无法执行

我是新来的。当我尝试使用casperjs.evaluate()执行JS时,我发现事件未执行。像casper = require(“ casper”)。create();这样的代码casper.start(“ https://www.google ....

回答 1 投票 1

CasperJS:吞下Enter之类的特殊键?

[我正在尝试使用CasperJS编写测试,以用于在输入中按Enter键是页面的触发器,以便该页面对输入的文本进行某些处理。缩写/ ...

回答 1 投票 6

从javascript casperjs中的DOM元素中提取文本

for(var i = 0; i <20; i ++){this.fetchText('div.ma-AdCardMyAds:nth- child('+ i +')> div.one> div.two> div.three> span [class =“ ma-AdCard-price”]')); }有时在...

回答 1 投票 0


错误-运行spookyjs

我在运行spookyjs时在Windows中收到以下错误,但是代码在Linux中正常工作。错误events.js:85 throw er; //未处理的“错误”事件^错误:在...

回答 3 投票 11

如何在CasperJS中打开具有相同标题的不同弹出窗口?

我正在尝试使用casperJS自动化一些任务,并且需要打开多个弹出窗口。但是,所有弹出窗口都具有完全相同的url(http://.../ printit.aspx / ...),因此,每当我使用this.withPopup(...

回答 2 投票 2

CasperJS可以在同一个进程中运行多个实例吗?

我试图在同一个进程上运行CasperJS的多个实例,我的测试代码看起来像这样: 只有一个帐户在数组上它工作正常,但有两个或更多,它总是超时,我不认为我的代码运...

回答 1 投票 3

为什么查看Wraith输出的屏幕截图时我的内容没有居中?

我在使用Wraith时遇到了一个不寻常的问题。 https://github.com/BBC-News/wraith下面的标记旨在使.heading元素居中。它确实可以在所有Chrome,Firefox和...上居中放置。

回答 2 投票 0

Casperjs不会重定向,如果javascript中有'let'

例如,这是HTML页面的来源:example.html

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.