以下脚本通过 Chrome Web 控制台成功运行数月后突然无法正常工作。
// Override site's disabling of the console.log function
console.log = console.__proto__.log
// get the DOM ready to process
$(document).ready()
function doThisThing(){
window._waitWindow = setInterval(function(){
// start looking for items not 'ready to go'
items = $("div.Catalogitem-content");
$.each(items, function(index){
if($(items[index]).find(".Catalogitem-stager").text().includes("ready to go") || index < lastitemCount){
$(this).css("background-color", "#84f784");
} else {
$(this).css("background-color", "#ff7089");
$(this).find(".engage-cycle-btn").click();
}
});
window.scrollTo(0, document.body.scrollHeight);
}, 10000);
return window._waitWindow;
}
function stopit() {
clearInterval(window._waitWindow);
console.log("Just executed clearInterval.");
}
抛出的错误是:
未捕获的 DOMException:无法在“文档”上执行“querySelector”:“[object HTMLDocument]”不是有效的选择器。
违规行是:
$(文档).ready()
我采取的行动:
- 我检查了 jQuery 是否已正确加载。以下命令的结果让我相信 jQuery 没有正确加载......也许我错了?
命令 1
$(document).ready(function($){ });
未捕获的 DOMException:无法在“文档”上执行“querySelector”:“[object HTMLDocument]”不是有效的选择器。
命令 2
console.log($())
无效的
命令 3
$().jquery
未捕获的类型错误:无法读取 null(...) 的属性“jquery”
命令 4
jQuery.jquery
未捕获的 ReferenceError:未定义 jQuery(…)
命令 5
$('.class');
无效的
尝试通过在 Web 浏览器中运行以下代码来加载 jQuery:
var jq = document.createElement('script'); jq.src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js "; document.getElementsByTagName('head')[0].appendChild(jq);
得到这个错误:
VM711:3 拒绝加载脚本“ https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js ”,因为它违反了以下内容安全策略指令:等等等等。
一直在梳理互联网寻求解决方案,但感觉自己陷入了一个深坑。是jquery没有加载吗?我正在处理数据的站点是否增加了新的安全层来阻止我的自动化?
我不知所措。提前致谢。