javascript를 사용하는 링크를 활성화하려면 zombie.js를 얻으려고합니다. 나는 그것을 테스트하고있는 페이지입니다 : 내가 사용하고zombie.js로 자바 스크립트 링크를 활성화하는 방법
<html>
<body>
<div id="test123">
START_TEXT
</div>
<a href="javascript:go()">GO</a><br/>
<script type="text/javascript">
go = function() {
var el = document.getElementById("test123");
el.innerHTML = "CHANGED";
}
</script>
</body>
</html>
스크립트는 다음과 같습니다
var zombie = require("zombie");
var browser = new zombie.Browser;
browser.visit("http://localhost:8000/testpage.html",
function() {
browser.clickLink("GO", function(e, browser, status) {
var temp = browser.text("div#test123");
console.log("content:", temp);
});
});
내가 오류 메시지가 얻을 : 내가 사용하는 경우
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Cannot load resource: javascript:go()
at History._resource (/home/julian/temp/node_modules/zombie/lib/zombie/history.coffee:75:15)
at History._pageChanged (/home/julian/temp/node_modules/zombie/lib/zombie/history.coffee:60:21)
at History._assign (/home/julian/temp/node_modules/zombie/lib/zombie/history.coffee:213:19)
at Object.location (/home/julian/temp/node_modules/zombie/lib/zombie/history.coffee:51:24)
at Object.click (/home/julian/temp/node_modules/zombie/lib/zombie/jsdom_patches.coffee:31:59)
at Object.dispatchEvent (/home/julian/temp/node_modules/zombie/node_modules/jsdom/lib/jsdom/level2/html.js:480:47)
at /home/julian/temp/node_modules/zombie/lib/zombie/eventloop.coffee:130:16
at EventLoop.perform (/home/julian/temp/node_modules/zombie/lib/zombie/eventloop.coffee:121:7)
at EventLoop.dispatch (/home/julian/temp/node_modules/zombie/lib/zombie/eventloop.coffee:129:19)
at Browser.dispatchEvent (/home/julian/temp/node_modules/zombie/lib/zombie/browser.coffee:220:30)
을
browser.evaluate("go()")
그것은 작동합니다. 내가 무엇이 누락 되었습니까?
나는 그것을 시도하고, 결과는 동일하다. 링크가 발견되면 문제는 javascript : go() 부분에 있습니다. 다른 링크가 작동합니다. – Julian
오, 알겠습니다. tuhoojabotti의 대답은 옳았습니다. 마치 좀비처럼 보이지 않습니다. js는 이러한 종류의 링크를 지원합니다. 이미이 문제에 대해 [문제] (https://github.com/assaf/zombie/issues/170)가 열렸습니다. – fent