分类 默认分类 下的文章

const inputElement = document.getElementById('declarePrice-0');

// 创建一个新的事件对象并赋值新的值
const nativeInputValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
nativeInputValueSetter.call(inputElement, '100.00'); // 设定新的值

// 创建并触发 'input' 事件
const inputEvent = new Event('input', { bubbles: true });
inputElement.dispatchEvent(inputEvent); // 触发 React 的 onChange

新建 run.py

import os
import sys

def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'projectname.settings')
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?"
        ) from exc
    execute_from_command_line(sys.argv)

if __name__ == '__main__':
    sys.argv = ['manage.py', 'runserver', '127.0.0.1:8001']  # 指定默认运行的命令
    main()

安装pyinstall

pip install pyinstaller 

命令参考
img

执行命令

pyinstaller -F --name=run run.py --specpath .  

function simulateScrollDown(pixels, interval) {
    let scrolled = 0;
    const scrollStep = pixels / 10; // 每次滚动的步长
    const scrollInterval = setInterval(() => {
        if (scrolled < pixels) {
            document.querySelector('.scroll-menu-wrap').scrollBy(0, scrollStep); // 向下滚动
            scrolled += scrollStep;
        } else {
            clearInterval(scrollInterval); // 滚动结束
        }
    }, interval);
}
   let ele = document.querySelector('.g-table-body')
   ele.scrollTop+=200  

滚动到元素

ele.scrollIntoView({
  behavior: 'smooth', // 平滑滚动,默认是立即滚动
  block: 'start'      // 让元素顶部与视口顶部对齐,可选值:'start', 'center', 'end', 'nearest'
});

 function sleep(ms:number) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

 async function simulateHumanInput(target, value, interval = 80) {
  target.focus();
  target.innerText = "";

  for (let i = 0; i < value.length; i++) {
    const char = value[i];
    target.innerText += char;

    // 生成输入事件
    const inputEvent = new InputEvent("input", {
      bubbles: true,
      data: char,
      inputType: "insertText"
    });
    target.dispatchEvent(inputEvent);

    // 键盘事件
    const keyEventDown = new KeyboardEvent("keydown", { key: char, bubbles: true });
    const keyEventUp = new KeyboardEvent("keyup", { key: char, bubbles: true });
    target.dispatchEvent(keyEventDown);
    target.dispatchEvent(keyEventUp);

    await sleep(interval + Math.random() * 30);
  }

  target.blur();
}