不向元素发送密钥,而是向一般硒发送密钥

Posted

技术标签:

【中文标题】不向元素发送密钥,而是向一般硒发送密钥【英文标题】:Send keys not to element but in general selenium 【发布时间】:2015-04-13 11:22:03 【问题描述】:

问题:

我想send_keys(Keys.LEFT_CONTROL + 't') 现在要做到这一点,我找到页面上的任何元素

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

问题是每次我想发送上面的键时,我都必须找到一些元素,实际上我并不感兴趣。

我如何一般发送密钥而不是页面的特定对象,我想要self.browser.send_keys(Keys.LEFT_CONTROL + 't') 之类的东西?有没有可能?

【问题讨论】:

可能任何名称对于目标元素都不是唯一的 如果目标是文本框,你可能想直接发送给它:java - In Selenium how do I find the "Current" object - Stack Overflow 【参考方案1】:

您正在使用 WebDriver 与页面上的实际元素进行交互。它不会起作用。

尝试使用操作

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()

查看文档: http://selenium-python.readthedocs.io/api.html?highlight=send_keys#module-selenium.webdriver.common.action_chains

【讨论】:

以上是关于不向元素发送密钥,而是向一般硒发送密钥的主要内容,如果未能解决你的问题,请参考以下文章