I am using chromium browser to automate some task.
Basically I want to load images for that I have to click "Add Image" anchor tag on the webpage.
So I cannot directly click it not sure why when other works with same code. But I have managed to bring the focus on that anchor tag but sending :
KeyEvent k = new KeyEvent();
k.WindowsKeyCode = 9; // TAB KEY
browser.GetBrowser().GetHost().SendKeyEvent(k);
//browser = ChromiumWebBrowser browser;
The above work perfectly fine as i see it coming to the correct anchor Tag.
Now i do :
KeyEvent k = new KeyEvent();
k.WindowsKeyCode = 13; //ENTER KEY
browser.GetBrowser().GetHost().SendKeyEvent(k);
To simulate enter key , however nothing happens but if I press "Enter" manually on Keyword it works fine so why the above is not acting same as me clicking "Enter Key"
Any suggestions.
I used your code like this, and it works for me.
KeyEvent k = new KeyEvent();
k.WindowsKeyCode = 0x0D;
k.FocusOnEditableField = true;
k.IsSystemKey = false;
k.Type = KeyEventType.Char;
Browser.GetBrowser().GetHost().SendKeyEvent(k);
So much time spent, but found the accepted answer useful to get to the bottom of this:
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);
Notice the KeyEventType.KeyDown
and then KeyEventType.KeyUp
is sent.
Inspired by CEF Simulate Mousedown and Keysend and CefSharp webpage element click.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With