我正在尝试从指定的网站上抓取信息。该站点首先使用身份验证,因此使用zombie.js:
var Browser = require("zombie");
var browser = new Browser();
browser.visit("https://*****login.aspx", function(){
browser.fill('#user', '*****');
browser.fill('#pwd', '*****');
var button = browser.querySelector('#btnSubmit');
browser.fire('click', button, function(){
//scraping main.aspx
});
});
它正在工作,我可以刮掉 main.aspx:有一个<table>
包含有关新消息的信息(发件人、日期、主题),问题就在这里:主题字段是可点击的,点击它会出现一个新窗口实际的消息。但是它是一个ajaxgrid,当我执行点击时:
var field = browser.querySelector('#VeryLongIdOfTheField');
browser.fire('click', field, function(){
console.log(browser.querySelector('#VeryLongIdOfTheFieldContainingTheMessage').innerHTML);
});
它返回一条错误消息,说 undefined 没有 innerHTML。我想是因为这个动作用一些 ajax 魔法处理。我是这个 js/nodejs/jquery/.. 世界的新手,需要一些帮助来启发我。