该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
以前遇到要去某些网站抓数据的时候, 使用 WebBrowser, 然后拿 DocumentText 来分析。
但是如果遇到某些页面,数据是 Ajax 动态加载的情况下。 DocumentText 里面没有需要的数据。
这种情况下。 可以通过 WebBrowser 来调用 js 来获取画面上面的数据。
首先,先搭一个测试网站。一个测试页面。
这个测试页面没有数据, 只有 js 代码来加载数据。
test.js
$(document).ready(function () {
// 调用 ajax
$.ajax({
url: '/handler/TestHandler.ashx',
type: "get",
dataType: 'jsonp',
jsonpCallback: "ShowTestResult",
success: function (data) {
// ShowTestResult(data);
},
error: function (msg) {
alert(msg);
}
});
});
function ShowTestResult(pData) {
var vHtml = "
处理结果" + pData.Result + "";vHtml = vHtml + "
结果描述" + pData.ResultMessage + "";vHtml = vHtml + "
用户代码" + pData.UserCode + "";vHtml = vHtml + "
用户姓名" + pData.UserName + "";vHtml = vHtml + "
卡片列表";for (var i = 0; i < pData.CardList.length; i++) {
vHtml = vHtml + "
" + pData.CardList[i] + "";}
$("#ResultTable").html(vHtml);
//GetPictureData();
}
// 给外部调用的 js 脚本.
// 无返回值, 无参数.
function PageScript1() {
alert("页面脚本1");
}
// 给外部调用的 js 脚本.
// 无返回值, 有参数.
function PageScript2(pParamValue) {
$("#ResultTable").append("
页面脚本2 :" + pParamValue + " ");}
// 给外部调用的 js 脚本.
// 有返回值, 无参数.
function PageScript3() {
alert("页面脚本3");
return "[js返回:页面脚本3]";
}
// 给外部调用的 js 脚本.
// 有返回值, 有参数.
function PageScript4(pParamValue) {
$("#ResultTable").append("
页面脚本4 :" + pParamValue + " ");return "[js返回:页面脚本4 :" + pParamValue + "]";
}