首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Clockify中的登录表单

Clockify中的登录表单
EN

Stack Overflow用户
提问于 2018-06-08 00:37:03
回答 1查看 1.1K关注 0票数 6

我正在尝试创建一个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窗口不可见)

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 00:58:20

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

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

代码语言:javascript
复制
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

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50746264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档