2012-11-20 19 views
5

मैं सिर्फ Zombie.js परीक्षण किया है और मैं इसे StackOverflow पर लॉगिन पृष्ठ पर करते हैं। मेरे कोड इस प्रकार है:Zombie.js पूरा एचटीएमएल वापस नहीं करता है

var Browser = require("zombie"); 

// Load the page from localhost 
browser = new Browser() 
browser.visit("http://stackoverflow.com/users/login/", function() { 
    browser.wait(3000, function(){ 
     console.log(browser.html()); 
     console.log(browser.success); 
    }); 
}); 

मैं चारों ओर देख कोशिश की, और मुझे पता है कि Zombie.js स्क्रिप्ट चलाता है और एक तरह से एचटीएमएल संपीड़ित करता है, लेकिन इस मामले में, कोड की पूरी body याद आ रही है।

मैं इस पर विश्वास नहीं है, प्रासंगिक है लेकिन उसके परिणाम में एचटीएमएल कोड है:

<html><head> 

    <title>Log In - Stack Overflow</title> 
    <link rel="shortcut icon" href="http://cdn.sstatic.net/stackoverflow/img/favicon.ico" /> 
    <link rel="apple-touch-icon" href="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png" /> 
    <link rel="search" type="application/opensearchdescription+xml" title="Stack Overflow" href="/opensearch.xml" /> 


    <script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script><script type="text/javascript" src="http://edge.quantserve.com/quant.js"></script><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
    <script type="text/javascript" src="http://cdn.sstatic.net/js/stub.js?v=8a629d6e9fb6"></script> 
    <link rel="stylesheet" type="text/css" href="http://cdn.sstatic.net/stackoverflow/all.css?v=24fdd40e5473" /> 

    <meta http-equiv="X-XRDS-Location" content="http://stackoverflow.com/yadis" /> 
    <script src="http://cdn.sstatic.net/Js/third-party/openid-jquery.js?v=8b3167d0ee55" type="text/javascript"></script> 
    <script type="text/javascript"> 
     document.write('<style type="text/css">.login-page .script-only { display: block; }<\/style>'); 
     $(function() { 
      openid.init('openid_identifier', '', 'http://cdn.sstatic.net/Img/openid/openid-logos.png?v=8', true); 
     }); 
    </script> 


    <script type="text/javascript"> 
     StackExchange.init({"stackAuthUrl":"https://stackauth.com","serverTime":1353439370,"styleCode":true,"enableUserHovercards":true,"site":{"name":"Stack Overflow","description":"Q&A for professional and enthusiast programmers","isNoticesTabEnabled":true,"recaptchaPublicKey":"6LdchgIAAAAAAJwGpIzRQSOFaO0pU6s44Xt8aTwc","enableSocialMediaInSharePopup":true},"user":{"fkey":"8074e87bcb0a1a15cc69db799d304930","isAnonymous":true}}); 
     StackExchange.using.setCacheBreakers({"js/prettify-full.js":"c862bf93b3ec","js/moderator.js":"37bba549a03e","js/full-anon.js":"bcd6f2e0d542","js/full.js":"87618162bac4","js/wmd.js":"89ec12ce09df","js/third-party/jquery.autocomplete.min.js":"e5f01e97f7c3","js/mobile.js":"6eb68240242f","js/help.js":"fc9fb0517db2","js/tageditor.js":"450c9e8426fc","js/tageditornew.js":"9ac6c13a3a7f","js/inline-tag-editing.js":"30f72b99548b","js/revisions.js":"8c6bcd93b7fe","js/review.js":"37dd8dc83788"}); 

    </script> 
</head> 
<body class="login-page" style="cursor: default;"><style type="text/css">.login-page .script-only { display: block; }</style></body></html> 

संपादित करें: बस देखा है कि इस पेज के लिपि में document.write कॉल की वजह से हो सकता है।

उत्तर

5

ब्राउज़र इस तय क्योंकि document.write शरीर को ओवरराइट कर के लिए runScripts: false विकल्प का उपयोग करना।

मैं an issue on their Github खोल दिया है क्योंकि यह व्यवहार अन्य ब्राउज़र प्रदर्शित नहीं है।

+0

सत्यापित स्थिरांक ब्राउज़र = नया ब्राउज़र ({runScripts: झूठी}); – 4m1r

संबंधित मुद्दे