入門phantomjs

前言

  phantomjs是一個無界面瀏覽器,用來操做web頁面的一個工具,好比登陸,提交表單等等。html

 語法框

//建立一個瀏覽器對象
var page = require('webpage').create();


//傳參部分
//var = system = require('system');
//檢查參數長度

//if (system.args.length === 1){}
//console.log('Usage: phantomfs iframe.js <some URL>');
// phantom.exit();}
//參數獲取

//var address ;

//address = system.args[1];


//日誌輸出編碼

phantom.outputEncoding="gbk";
//web頁面打開操做
page.open("url",function(status){
   //輸出頁面標題
  console.log(page.title); 
  //截圖...
page.render("f51.png")

if(status == "success"){

 //此處能夠寫js 代碼了。注意,此處的代碼是並行執行的,要用setTimeout處理,若是屢次調用寫多個,延遲時間 平行順延...
setTimeout(function(){
  
 page.evaluate{
     //真正操做頁面js代碼的地方//好像不能用for指令,我沒操做成功
   if ( typeof(jQuery) == "undefined" )
            {
                // 若是沒有jquery,遠程加載一個
           page.injectJs('http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'
   );
            }
    




};



},2000);


setTimeout(function(){
  
//截圖
page.render("end10101010.png")

//退出...

phantom.exit(0);
console.log("Page failed to load.");

},4000);












}

else{
//截圖
page.render("end10101010.png")

//退出...

phantom.exit(0);
console.log("Page failed to load.");
}





});

 

html元素遍歷經常使用指令

#加載ifame,假設ID爲contentframejquery

document.getElementById("contentframe").contentDocumentweb

#加載IDajax

document.getElementById("row_3")api

#加載元素數組

document.getElementsByTagName("td")  //返回值是元組瀏覽器

#支持連續操做工具

document.getElementById("contentframe").contentDocument.getElementById("row_3").getElementsByTagName("td")[0].getElementsByTagName("input")[0].click()ui

#獲取值google

document.getElementById("row_3").[innerText,innerHtml,value];賦值="..."

#jq經常使用遍歷

$("#id...").find("元素,返回查找的元素之後的全部集合").children("元素子元素,返回數組")

#jq 操做iframe

$("iframe_id...").contents().find("").children("")

程序執行

443端口運行方法

phantomjs.exe    --ignore-ssl-errors=yes  hello.js  //heloo.js爲語法框裏的代碼

總結:

參考資料

   百度,google...

相關文章
相關標籤/搜索