gpt4 book ai didi

javascript - 尝试使用 CasperJS 跟踪 iframe 中的链接

转载 作者:行者123 更新时间:2023-11-29 18:25:28 24 4
gpt4 key购买 nike

我正在尝试使用 CasperJS点击 iframe 中的链接,但我似乎无法访问 iframe 的文档。

这是一个使用我找到的 iframe 示例页面的测试。第三个 iframe 有一个名称属性,我需要它来使用 Casper 的框架方法。 Casper API

var casper = require('casper').create();

casper.start('http://nunzioweb.com/iframes-example.htm');

casper.withFrame('frame', function(){
this.echo('Page url is ' + this.getCurrentUrl());
this.echo(this.getHTML());
});

casper.run();

如我所料,页面 url 返回“http://nunzioweb.com/lyrics/455Rocket.html”,但返回的 html 是包装 iframe 的页面。

知道如何进入 iframe 以便我可以点击链接 [在我实际使用的页面上] 吗?

最佳答案

由于某些原因 .getHTML() 在这里不起作用,您必须获取页面 HTML直接来自 WebPage 实例。

var casper = require('casper').create();

casper.start('http://nunzioweb.com/iframes-example.htm');

casper.withFrame('frame', function(){
this.echo('Page url is ' + this.getCurrentUrl());
this.echo(this.page.content);
});

casper.run();

我会处理这个问题。

点击一个链接,例如。在您的 iframe 示例中的 Slick City 上:

var casper = require('casper').create();

casper.start('http://nunzioweb.com/iframes-example.htm');

casper.withFrame('frame', function() {
this.echo('Page url is ' + this.getCurrentUrl());
this.clickLabel('Slick City');
});

casper.waitForPopup('slickcitydown.htm').withPopup('slickcitydown.htm', function() {
this.echo('New page url is ' + this.getCurrentUrl());
});

casper.run();

这给出了:

$ casperjs test.js 
Page url is http://nunzioweb.com/lyrics/455Rocket.html
New page url is http://nunzioweb.com/slickcitydown.htm

关于javascript - 尝试使用 CasperJS 跟踪 iframe 中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942651/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com