【问题标题】:Chrome Extension can modify Window object but can't create new variableChrome 扩展可以修改 Window 对象但不能创建新变量
【发布时间】:2020-09-06 18:27:49
【问题描述】:

我正在尝试使用 Selenium Webdriver(JavaScript 版本)和 Chrome 扩展程序来捕获网络流量并查找到特定图案 url 的流量。我正在尝试将匹配的流量保存到窗口对象中的一个新变量中,以简化以后的测试。

我可以根据答案here 修改窗口,但由于某种原因我无法创建新的全局变量,所以当我打开控制台并在页面加载后输入“window.testing”时,它返回未定义。

内容脚本代码sn-p:

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);
});

【问题讨论】:

    标签: javascript selenium selenium-webdriver google-chrome-extension selenium-chromedriver


    【解决方案1】:

    由于 HTTP 是无状态的,因此每次加载页面时,它都会使用您在 JavaScript 中设置的初始值。您不能在 JS 中设置全局变量,并在再次加载页面后简单地保留该值。

    enter link description here

    【讨论】:

      猜你喜欢
      • 2014-04-26
      • 2012-09-05
      • 2020-09-08
      • 1970-01-01
      • 2012-10-28
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多