Ich habe gerade Zombie.js getestet und ich lasse es die Login-Seite auf StackOverflow besuchen. Mein Code ist wie folgt:Zombie.js gibt keinen vollständigen HTML-Code zurück
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);
});
});
ich um versucht, Blick, und ich weiß, dass Zombie.js Skripte ausgeführt und Art komprimiert, die HTML, aber in diesem Fall die gesamte body
des Codes fehlt.
Ich glaube nicht, das ist relevant, aber der HTML-Code zurückgegeben wird:
<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>
EDIT: Nur bemerkt, dass dies durch den document.write
Aufruf im Skript der Seite verursacht werden.
verifizierter const Browser = neuer Browser ({runScripts: false}); – 4m1r