Send keys not to element but in general selenium

2020-08-13 07:28发布

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?

1条回答
祖国的老花朵
2楼-- · 2020-08-13 08:30

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

查看更多
登录 后发表回答