Send keys not to element but in general selenium

21,471

You are using WebDriver to interact with the actual elements on the page. It will not work.

Try using the Actions

from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

actions = ActionChains(driver)
actions.send_keys(Keys.LEFT_CONTROL + 't')
actions.perform()

See the documentation: http://selenium-python.readthedocs.io/api.html?highlight=send_keys#module-selenium.webdriver.common.action_chains

Share:
21,471
micgeronimo
Author by

micgeronimo

Updated on July 05, 2022

Comments

  • micgeronimo
    micgeronimo almost 2 years

    Issue:

    I want to send_keys(Keys.LEFT_CONTROL + 't') Now to do this I locate any element on the page

    elem = self.browser.find_element_by_name('body')
    elem.send_keys(Keys.LEFT_CONTROL + 't')
    

    Problem is that each time I want to send above keys I have to locate some element, which actually I'm not interested in.

    How can I send keys generally and not to specific object of page, I want something like self.browser.send_keys(Keys.LEFT_CONTROL + 't')? Is it even possible?