我正在尝试使用Selenium Webdriver(Javascript版本)和Chrome扩展程序来捕获网络流量并查找特定模式网址的流量。我试图将匹配的流量保存到窗口对象中的新变量,以便以后简化测试。
我可以在答案here之后修改窗口但由于某种原因我无法创建新的全局变量,因此当我打开控制台并键入" window.testing"在页面加载后,它返回undefined。任何解释都将不胜感激。
内容脚本代码段:
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);
});
答案 0 :(得分:2)
由于HTTP是无状态的,因此每次加载页面时,它都将使用您在JavaScript中设置的任何值的初始值。您无法在JS中设置全局变量,只需在再次加载页面后保持该值。