我有一个脚本,单击一个按钮,光标开始闪烁。我通过xpath / id / class名称指定元素以发送密钥的所有尝试都失败了。因此,我正在尝试仅将键发送到光标闪烁的位置。
我已经尝试了一些解决方案:
from selenium.webdriver.common.action_chains import ActionChains
actions = ActionChains(driver)
actions.send_keys('dummydata')
actions.perform()
此解决方案根本不发送任何密钥。
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
不确定目前还可以尝试什么。困惑为什么会这样。
一个原因可能是该元素可能在@Pedro提到的iframe中。
要获得没有XPath和其他选择器的活动元素,您可以尝试使用javascript:
elem = driver.executeScript("document.activeElement")
如果仍然无法使用,则可能是iframe,也可能是虚拟软件的textinput(js,canvas,...)。您可以在浏览器控制台中使用一些javascript命令来检查响应的方式和元素。