我正在使用铬浏览器自动完成一些任务。
基本上我想加载的图像,我必须点击“添加图像”锚标签在网页上。
所以我不能直接点击它,不知道为什么其他人使用相同的代码工作。但我已经设法将焦点放在这个锚标签上,但发送:
KeyEvent k = new KeyEvent();
k.WindowsKeyCode = 9; // TAB KEY
browser.GetBrowser().GetHost().SendKeyEvent(k);
//browser = ChromiumWebBrowser browser;上面的代码运行得很好,因为我看到它出现在正确的锚标签上。
现在我知道了:
KeyEvent k = new KeyEvent();
k.WindowsKeyCode = 13; //ENTER KEY
browser.GetBrowser().GetHost().SendKeyEvent(k);模拟回车键,但是什么也没有发生,但是如果我在关键字上手动按“回车”,它工作得很好,所以为什么上面的操作不同于我点击“回车键”
有什么建议吗。
发布于 2017-07-13 21:23:11
我像这样使用你的代码,它对我很有效。
KeyEvent k = new KeyEvent();
k.WindowsKeyCode = 0x0D;
k.FocusOnEditableField = true;
k.IsSystemKey = false;
k.Type = KeyEventType.Char;
Browser.GetBrowser().GetHost().SendKeyEvent(k);发布于 2018-11-24 03:32:15
花了这么多时间,但发现公认的答案很有用,可以弄清这个问题的真相:
KeyEvent k = new KeyEvent
{
WindowsKeyCode = 0x0D, // Enter
FocusOnEditableField = true,
IsSystemKey = false,
Type = KeyEventType.KeyDown
};
_browser.GetBrowser().GetHost().SendKeyEvent(k);
Thread.Sleep(100);
k = new KeyEvent
{
WindowsKeyCode = 0x0D, // Enter
FocusOnEditableField = true,
IsSystemKey = false,
Type = KeyEventType.KeyUp
};
_browser.GetBrowser().GetHost().SendKeyEvent(k);
Thread.Sleep(100);注意KeyEventType.KeyDown,然后发送KeyEventType.KeyUp。
灵感来自CEF Simulate Mousedown and Keysend和CefSharp webpage element click。
https://stackoverflow.com/questions/44736904
复制相似问题