【问题标题】:Simulating Key Press On DOM element模拟 DOM 元素上的按键
【发布时间】:2021-11-18 12:28:33
【问题描述】:

我正在尝试使用 WebView2 使用 C# 自动化 Web 输入表单。

Web 输入表单具有三个 DOM 元素:输入(用户名/密码)和输入按钮(禁用)。

如果您通过键盘(手动)向输入区域输入值,则启用输入按钮。但是发送 Java 脚本来设置输入框的值不会启用此按钮。当然,禁用此页面的自动化是一种保护...

有没有办法通过 java 脚本启用 Entry Button?

页面图片如下:

【问题讨论】:

  • document.getElementById('EntryButton').disabled = false;
  • @PoulBak 它无论如何都不会影响按钮,我已经通过 WebView2 工具添加了脚本结果的图像,谢谢...
  • 不要将文本添加为​​图像,将文本添加到代码格式化块中!更改后是否尝试调用按钮的click() 方法?
  • 要点击按钮,首先必须启用它!

标签: c# html asp.net dom-events webview2


【解决方案1】:

网站所有者似乎已经安排了“进入按钮”的操作,只能通过击键来启用。防范自动化...

要模拟击键动作,您可以为每个 DOM 元素使用以下代码:

document.getElementById('USERNAME').focus();
document.execCommand('insertText', false, 'YourName');
document.getElementById('PASSWORD').focus();
document.execCommand('insertText', false, 'Password');
document.getElementById('ENTRY').click();

这将通过粘贴您的数据(如击键)来激活“输入按钮”...

【讨论】:

  • 我可以称这个解决方案天才,非常感谢
  • case 数据框有以前的值,应用此清除旧值:document.getElementById('USERNAME').value = ''
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-20
  • 1970-01-01
  • 2018-11-19
  • 1970-01-01
相关资源
最近更新 更多