特定の Web サイトから情報をスクレイピングしようとしています。このサイトは最初に認証を使用するため、ai は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/.. の世界で初めてです。私を啓発するためにいくつかの助けが必要です。