gpt4 book ai didi

javascript - Clockify 中的登录表单

转载 作者:数据小太阳 更新时间:2023-10-29 05:06:58 26 4
gpt4 key购买 nike

我正在尝试创建一个 PowerShell 脚本来打开 Internet Explorer,导航到 https://clockify.me/login , 填写电子邮件和密码输入并提交表格或单击登录按钮。

问题是,当使用以下方式填充输入时:

  • document.getElementById("email").value="123"
  • document.getElementById("password").value="123"

我有以下结果:

  • 当我使用 document.forms[0].submit() 提交表单时,页面会重新加载 URL https://clockify.me/login?email=&password=什么也没发生
  • 当我使用 javascript 或手动点击按钮时,它认为输入为空

那么,有什么办法可以解决这个问题吗?使用纯 javascript 或 PowerShell(我希望让 IE 窗口不可见)

谢谢!

最佳答案

即使您正在更改 input DOM 对象的值,这也不足以触发底层 Angular 库的更改检测,从而使表单显示为“空”。

以下纯 JS 示例在 Chrome 上运行,但我没有在 Internet Explorer 中测试过它:

let email = document.getElementById("email");
let password = document.getElementById("password");
let button = document.getElementsByTagName("button")[0];

email.value = 'someone@example.com';
password.value = 'yourpassword';

// Trigger change detection
email.dispatchEvent(new Event('input'));
password.dispatchEvent(new Event('input'));

button.click();

如果 dispatchEvent 在 IE 中不起作用,您可以尝试使用 createEventinitEvent。参见 dispatchEvent not working in IE11

关于javascript - Clockify 中的登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50746264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com