在python selenium webdriver中不指定元素而发送密钥

在python selenium webdriver中不指定元素而发送密钥,python,python-2.7,python-3.x,selenium,selenium-webdriver,Python,Python 2.7,Python 3.x,Selenium,Selenium Webdriver,我有一个页面的源代码不可用,但有一个输入框,光标在其中闪烁 我可以在没有找到元素的情况下将内容写入文本框吗。我的意思是,send键可以通过某种方式自动查找聚焦的inputbox并向其键入输入 我的代码无法正常工作 driver.send_keys("testdata") 解决了 from selenium.webdriver.common.action_chains import ActionChains actions = ActionChains(self.driver) actions.

我有一个页面的源代码不可用,但有一个输入框,光标在其中闪烁

我可以在没有找到元素的情况下将内容写入文本框吗。我的意思是,send键可以通过某种方式自动查找聚焦的inputbox并向其键入输入

我的代码无法正常工作

driver.send_keys("testdata")
解决了

from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(self.driver)
actions.send_keys('dummydata')
actions.perform()

如果此代码中出现关于“self”的错误:

from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(self.driver)
actions.send_keys('dummydata')
actions.perform()
只需使用:

actions = ActionChains(driver)
我没有评论权这就是为什么我把这个作为答案

编辑:添加此增强功能作为对原始答案的评论。

这对我很有用:

driver.find_element_by_tag_name('body').send_keys(' ')

(我以前使用空格字符滚动页面)

如果元素处于活动状态,您可以只发送单个密钥标记:如果您在上述答案的第2行遇到问题,请使用
actions=ActionChains(driver)
。作者可能在类对象中生成了驱动程序,因此需要self.driver来访问它。