【发布时间】:2015-09-15 17:04:03
【问题描述】:
我正在尝试在以下地址抓取、自动化我的活动。 https://www5.fdic.gov/idasp/main.asp 基本上填写表格,提交等。
我已经成功地使用greasemonkey 进行自动化,并且正在考虑使用节点进行重建。
问题:jsdom浏览器emu环境是否允许我访问和操作在上述站点呈现的动态帧。
如果是。你能指出我可以玩的例子吗?
注意:我知道 Phantomjs 和 Selenium,但对使用 jsdom 解决方案更感兴趣。
到目前为止我的代码:
var express = require('express');
var request = require('request');
var cheerio = require('cheerio');
var jsdom = require('jsdom');
var app = express();
var port = '8081';
require('jsdom').defaultDocumentFeatures = {
FetchExternalResources : true,
ProcessExternalResources : true,
MutationEvents : '2.0',
QuerySelector : true
}
app.get('/', function(req, res){
url = 'https://www5.fdic.gov/idasp/main.asp';
jsdom.env(
url,
["https://dl.dropboxusercontent.com/u/1273929/JS/functions/jquery-1.11.1.js"],
function (err, window) {
//var $ = window.$;
var nodes = window.jQuery('frame[name=content]').context._childNodes
console.log(nodes);
res.send(window.location._document._URL + '\n');
}
);
})
app.listen(port)
console.log('Magic happens on port ' + port);
exports = module.exports = app;
【问题讨论】:
-
我认为 Tampermonkey 会更简单,甚至更好。
标签: javascript node.js dom frameset jsdom