发送密钥而不指定python selenium webdriver中的元素(操作链不起作用)

问题描述 投票:0回答:1

我有一个脚本,单击一个按钮,光标开始闪烁。我通过xpath / id / class名称指定元素以发送密钥的所有尝试都失败了。因此,我正在尝试仅将键发送到光标闪烁的位置。

我已经尝试了一些解决方案:

  1. Send keys without specifying element in python selenium webdriver
from selenium.webdriver.common.action_chains import ActionChains

actions = ActionChains(driver)
actions.send_keys('dummydata')
actions.perform()

此解决方案根本不发送任何密钥。

  1. 切换到活动元素。
elem = driver.switch_to.active_element()
elem['value'].send_keys('dummydata')
#OR#
elem.send_keys('dummydata')

在这种情况下,我收到错误:

elem = driver.switch_to.active_element()
TypeError: 'WebElement' object is not callable

不确定目前还可以尝试什么。困惑为什么会这样。

python selenium sendkeys
1个回答
0
投票

一个原因可能是该元素可能在@Pedro提到的iframe中。

要获得没有XPath和其他选择器的活动元素,您可以尝试使用javascript:

elem = driver.executeScript("document.activeElement")

如果仍然无法使用,则可能是iframe,也可能是虚拟软件的textinput(js,canvas,...)。您可以在浏览器控制台中使用一些javascript命令来检查响应的方式和元素。

© www.soinside.com 2019 - 2024. All rights reserved.