模拟 DOM 元素上的按键
Posted
技术标签:
【中文标题】模拟 DOM 元素上的按键【英文标题】:Simulating Key Press On DOM element 【发布时间】:2021-11-18 12:28:33 【问题描述】:我正在尝试使用 WebView2 使用 C# 自动化 Web 输入表单。
Web 输入表单具有三个 DOM 元素:输入(用户名/密码)和输入按钮(禁用)。
如果您通过键盘(手动)向输入区域输入值,则启用输入按钮。但是发送 Java 脚本来设置输入框的值不会启用此按钮。当然,禁用此页面的自动化是一种保护...
有没有办法通过 java 脚本启用 Entry Button?
页面图片如下:
【问题讨论】:
document.getElementById('EntryButton').disabled = false;
@PoulBak 它无论如何都不会影响按钮,我已经通过 WebView2 工具添加了脚本结果的图像,谢谢...
不要将文本添加为图像,将文本添加到代码格式化块中!更改后是否尝试调用按钮的click()
方法?
要点击按钮,首先必须启用它!
【参考方案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 = ''
。以上是关于模拟 DOM 元素上的按键的主要内容,如果未能解决你的问题,请参考以下文章