在页面上有一个链接:
<a id="quote" href="quote.html" target="_blank">Quote</a>
在CasperJS中点击它,但我无法在新窗口中捕获该页面。
casper.start('http://domain.com');
casper.thenClick('#quote');
casper.then(function() {
this.capture('file1.png');
});
casper.run();
答案 0 :(得分:4)
另见casperjs中的文档:
casper.waitForPopup();
casper.withPopup();
新窗口(点击带有target =&#34的链接; _blank&#34;属性)可以视为弹出窗口。
文件:http://docs.casperjs.org/en/latest/modules/casper.html#waitforpopup
答案 1 :(得分:1)
CasperJS不适用于新窗口。你必须在链接之前手动删除“target = _blank”:
this.evaluate(function () {
[].forEach.call(__utils__.findAll('a'), function(link) {
link.removeAttribute('target');
});
});
答案 2 :(得分:0)
casper.start('http://domain.com');
casper.thenClick('#quote');
casper.waitForResource('file1.png' , function() {
this.capture('file1.png');
});
casper.run();
您应该尝试等待加载所有资源,然后继续其他工作。这将始终有效。