我正在尝试触发输入元素的 OnChange 事件。更改元素的值不会触发 onChange 事件。是否可以向浏览器发送按键以触发输入元素的 onchange 事件。
1 回答
0
是的,可以向浏览器发送 key down 和 key up 事件:
browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e)
{
if (e.IsMainFrame)
{
// The page is loaded completely. Press TAB key to set focus to text field.
KeyParams paramers = new KeyParams(VirtualKeyCode.TAB, ' ');
browser.KeyDown(paramers);
browser.KeyUp(paramers);
// Type 'Hello' text in the focused text field.
paramers = new KeyParams(VirtualKeyCode.VK_H, 'H');
browser.KeyDown(paramers);
browser.KeyUp(paramers);
paramers = new KeyParams(VirtualKeyCode.VK_E, 'e');
browser.KeyDown(paramers);
browser.KeyUp(paramers);
paramers = new KeyParams(VirtualKeyCode.VK_L, 'l');
browser.KeyDown(paramers);
browser.KeyUp(paramers);
paramers = new KeyParams(VirtualKeyCode.VK_L, 'l');
browser.KeyDown(paramers);
browser.KeyUp(paramers);
paramers = new KeyParams(VirtualKeyCode.VK_O, 'o');
browser.KeyDown(paramers);
browser.KeyUp(paramers);
}
};
完整的示例可以通过以下链接找到:
http://dotnetbrowser-support.teamdev.com/documentation/simulating-keyboard-input
于 2017-01-03T06:57:24.110 回答