首页 > 解决方案 > 如何在 Chrome 扩展内容脚本中模拟输入和更改输入值

问题描述

我需要一种方法来用我的新值更改输入字段的值

我试过input.value没有用。试过这个功能:

  function simulateTyping(element, value, i) {
    i === 0 && element.setAttribute("value", value);
    i === 0 && (element.value = "");

    if (i < value.length) {
      element.value += value.charAt(i);
      element.dispatchEvent(
        new Event("textInput", {
          data: value.charAt(i),
          inputType: "textInput",
          bubbles: true,
          cancelable: true,
        })
      );
      element.dispatchEvent(
        new Event("input", {
          bubbles: true,
          data: value.charAt(i),
          cancelable: true,
        })
      );
      setTimeout(simulateTyping.bind(this, element, value, i + 1), 10);
    } else {
      element.dispatchEvent(
        new Event("change", {
          bubbles: true,
          cancelable: true,
        })
      );
      element.dispatchEvent(new Event("blur", { bubbles: true }));
      var evt = document.createEvent("KeyboardEvent");
      evt.initEvent("keyup", true, true);
      element.dispatchEvent(evt);
    }
  }

这个函数改变了值,但是网站突然改变了值,但是如果我用键盘输入数字,网站并没有改变值。

我认为我们需要找到更多东西来实际模拟真正的按键 这是网站 https://tibiablackjack.com/crash

视频演示 https://www.loom.com/share/cb568c04ac85427395c2f0e1481c7fb9

标签: javascriptinputgoogle-chrome-extensiondom-eventsjavascript-objects

解决方案


推荐阅读