我正在编写用户脚本,但无法填写由 reactjs 制作的表单。我的代码:
document.querySelector("#id-username").value = "name@domain.xx";
// Attempt to notify framework using input event
document.querySelector("#id-username").dispatchEvent(new Event("input", {data:"name@domain.xx"}));
// Attempt to notify framework using change event
document.querySelector("#id-username").dispatchEvent(new Event("change"));
// This doesn't help either
document.querySelector("#id-username").dispatchEvent(new Event("blur"));
// Submit the form using button (it's AJAX form)
document.querySelector("fieldset div.wrap button").click();
加载页面后,我将此代码输入到开发人员工具控制台中。但是表单忽略了我的编程输入:
可以在此处找到该表格。我工作的目的是自动登录给定的网站。我提供了特定的 URL,但我希望可以应用于任何 reactjs 表单的这个问题的通用解决方案(例如,使用一些 reactjs API)。其他用户可能需要此解决方案来为其站点编写自动化测试。