要抓取第三方页面内动态数据,遇到获取数据的方式是加密的,无法伪造,且不好确定数据加载完成事件,则可以用以下 2种js hijack的方法
1. 替换掉页面内原有的数据调用函数
[code language=”javascript”]
<script language="javascript">
function doSomeQueryData() {
do some query data ….;
}
let orgQuery = doSomeQueryData;
doSomeQueryData = function() {
orgQuery();
//数据加载完了,可以干活
}
</script>
[/code]
2. 注入一个onload事件函数
[code language=”javascript”]
function autoReportXY()
{
for(i=0;i < 10;i++)
{
if (document.getElementsById("数据tag").length < 6){
sleep(1000);
continue;
}
//数据加载完啦,干活。。。
}
}
function delayShow()
{
setTimeout(autoReportXY, 2000);
}
window.addEventListener("load", delayShow, false);
[/code]