gpt4 book ai didi

javascript - PhantomJS 和 iFrame

转载 作者:可可西里 更新时间:2023-11-01 02:42:44 29 4
gpt4 key购买 nike

我正在使用 phantomjs(1.5) 和 casperjs用于我的功能测试。

casper = require('casper').create
loadImages: false


casper.start 'http://vk.com', ->
@fill 'form[name="login"]', { email: mail, pass: pass}, true

casper.thenOpen "http://vk.com/#{app}", ->
@echo "User at #{app}"
casper.then ->
@click "iframe['element']" #?! how I can do it?
casper.then ->
@wait 2000000, -> @echo "exit from room: #{num}"


casper.run()

因此,我登录到 vk.com(俄罗斯的社交网络),我的应用加载了 iframe。

如何使用 iFrame 中的元素,例如单击按钮?

最佳答案

最新版本的 PhantomJS 允许我们使用 --web-security=no 标志来表示不遵守安全策略。

下一个脚本(仅限 PhantomJS)获取 iframe 中链接的标题,即 iframe (adsense)。

/*
Accessing an iframe (different domain) with PhantomJS
Example by deerme.org
*/

var page = require('webpage').create(), system = require('system'), t, address;
if (system.args.length === 1)
{
console.log('Usage: phantomfs iframe.js <some URL>');
phantom.exit();
}

t = Date.now();
address = system.args[1];
page.open(address, function (status)
{
if (status !== 'success')
{
console.log('FAIL to load the address');
}
else
{
t = (Date.now()) - t;
title = page.evaluate( function(){
return document.title;
});
linkTitle = page.evaluate( function(){
// The site containing jQuery?
if ( typeof(jQuery) == "undefined" )
{
// Force Load
page.injectJs('http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js');
}
// first iframe #aswift_2
// second iframe #google_ads_frame3
return jQuery("#aswift_2").contents()
.find("body")
.find("#google_ads_frame3")
.contents()
.find("body")
.contents()
.find("a:last")
.attr("title");
});
console.log('Loading time: ' + t + ' msec');
console.log('Webpage title: ' + title);
console.log('Link title (iframe adsense): ' + linkTitle);
}
phantom.exit();
});

记住,带参数运行

phantomjs --web-security=no iframe.js http://anysite.org

关于javascript - PhantomJS 和 iFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9941408/

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