如何使用casperjs框架解析网站

时间:2015-03-17 17:56:57

标签: html parsing frame casperjs

我想解析网站以获取信息。

网站有框架,框架没有加载。

这是我默认网页的源代码:

<!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Frameset//EN""http://www.w3.org/TR/html4/frameset.dtd">
<html><head><meta http-equiv="content-type"content="text/html; charset=UTF-8"/>
<link rel="stylesheet"type="text/css"href="webstyles.css"/>
<link rel="icon"type="image/ico"href="favicon.ico"/>
<link rel="shortcut icon"type="image/x-icon"href="favicon.ico"/>
<script type="text/javascript"src="commun.js"></script>
<script type="text/javascript">var i,currCount=0;var tbl_imgs,preload_image,loaded;tbl_imgs=new Array("checkbox.png","status2.png","l_droite.png","l_trouble.png","buttons.png","paradox.png","fl.png");
preload_image=new Array();loaded=new Array();function loadImages(){for(i=0;i<tbl_imgs.length;i++){preload_image[i]=new Image();
preload_image[i].src=tbl_imgs[i];}for(i=0;i<preload_image.length;i++){loaded[i]=false;}checkLoad();
}function checkLoad(){if(currCount==preload_image.length){return;}for(i=0;i<preload_image.length;i++)
{if(loaded[i]==false&&preload_image[i].complete){loaded[i]=true;currCount++;}}timerID=setTimeout("top.checkLoad()",10);}
</script>
<title>Paradox IP Module</title></head><frameset cols="100%,0">
<frame src="waitaff.html"name="mainframe"frameborder="0"scrolling="auto"noresize="noresize"/>
<frame src="waitlive.html"name="liveframe"frameborder="0"scrolling="auto"noresize="noresize"/>
<noframes><body><p>Framesets not supported.Please upgrade your browser so that you can use this setup tool</p></body></noframes></frameset></html>

例如,我希望获得此状态“解除武装”或“武装”: link status

这是带框架的代码结构: Link code with frame

在我的脚本casperjs上我有这个测试:

// step 2 > Switch to correct Iframe + check load status
    casper.then(function() {
        this.wait(10000,function(){
            casper.waitFor(function() {
                return this.withFrame('mainframe', function() {});
            }, function() {
                    this.withFrame('mainframe', function() {
                        this.echo(this.getHTML());
                        this.capture('capture4.png');    

框架未加载,我的检查不起作用。

你能帮帮我吗?我希望在我的网页上检索一些状态“Disarmed”等信息。

0 个答案:

没有答案