我正在尝试使用Selenium Webdriver(JavaScript版本(和Chrome扩展程序来捕获网络流量并查找特定模式网址的流量。我正在尝试将匹配的流量保存到窗口对象中的新变量,以简化以后的测试。
我可以按照这里的答案修改窗口,但由于某种原因我无法创建新的全局变量,因此当我打开控制台并在页面加载后键入"window.testing"时,它会返回未定义。
内容脚本代码片段:
window.addEventListener('load', loadEvent => {
let window = loadEvent.currentTarget;
//Works as expected
window.document.title='You changed me!';
window.testing = {test: '123'};
testing.customlog = 'You made a custom log!';
// Console logs as expected
console.log(testing);
// Gives error - undefined
console.log(window.testing);
});
由于HTTP是无状态的,每次加载页面时,它都会使用您在JavaScript中设置的任何内容的初始值。您不能在 JS 中设置全局变量,只需在再次加载页面后保留该值即可。
在此处输入链接说明