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

Posted

技术标签:

【中文标题】发送密钥而不在 python selenium webdriver 中指定元素【英文标题】:Send keys without specifying element in python selenium webdriver 【发布时间】:2015-12-29 11:15:36 【问题描述】:

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

我可以在没有找到元素的情况下在文本框中写一些东西吗?我的意思是,发送键可以通过某种方式自动查找焦点输入框并输入输入。

我的代码显然不起作用

driver.send_keys("testdata")

【问题讨论】:

如果元素处于活动状态,您可以发送单独的 keytorkes:***.com/a/11507909/2374517 【参考方案1】:

解决了

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

【讨论】:

如果您在上述答案的第 2 行遇到问题,请使用 actions = ActionChains(driver)。作者可能在类对象中生成了驱动程序,因此需要 self.driver 来访问它。【参考方案2】:

如果您在此代码中收到有关“自我”的错误:

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

只需使用:

actions = ActionChains(driver)

我没有评论权,所以我把这个作为答案

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

【讨论】:

【参考方案3】:

这对我有用:

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

(我曾经使用空格字符来滚动页面)

【讨论】:

以上是关于发送密钥而不在 python selenium webdriver 中指定元素的主要内容,如果未能解决你的问题,请参考以下文章

Selenium 无法在找到的元素中发送密钥

Selenium:如何使用Javascript将密钥发送到JQuery输入

在发送密钥和控制台之后获取输入值,记录值Selenium Webdriver

如何在 selenium python 中按 Enter 键?

python 发送带有附件的邮件

如何使用 Selenium 和 Python 在信用卡号字段中输入日期?