7

The way I know of sending keys using the WebDriver Python bindings is as follows:

element.send_keys(value)

How can I send a key (specifically the Escape key) to no element in particular, just to the window in general?

  • You can send the keys to the body of the html page. Or do you mean you want to send keys to the browser itself, and not to something rendered on the page? – Dale Emery Jan 20 '12 at 22:39
  • "specifically the Escape key" Are you attempting to dismiss/close a pop-up dialog perhaps? – Bj Rollison Jan 21 '12 at 5:12
  • Yes, I'm attempting to close a dialog. – Randomblue Jan 21 '12 at 11:30
3

How do I handle pop up windows?

WebDriver offers the ability to cope with multiple windows. This is done by using the "WebDriver.switchTo().window()" method to switch to a window with a known name. If the name is not known, you can use "WebDriver.getWindowHandles()" to obtain a list of known windows. You may pass the handle to "switchTo().window()".

| improve this answer | |
0

Try setting the element to the body of the HTML document:

element = driver.find_element_by_xpath("//body")
element.send_keys(Keys.ESCAPE)
| improve this answer | |
  • Could you please edit your answer to explain what you are adding to the accepted answer? When adding an answer to a question this old that has an accepted answer, a simple one-liner is likely to be considered inadequate. – Kate Paulk Feb 24 at 15:29
  • I added an example. Even though there is an accepted answer (and the asker obviously is happy with it), I think this answers the original post more directly. – Mate Mrše Feb 25 at 7:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.