不能使用硒聚焦元素



我正在尝试单击一个元素并向它发送密钥,但我无法专注于元素错误。我尝试使用操作链,但没有工作。

我可以单击该元素,但是当我发送密钥时,它会抛出"无法专注于元素错误">

D = C.find_element_by_xpath('//*[@id="pcsTableId"]/tbody/tr[9]/td[4]')
>>> D.click()
>>> D.send_keys("4556741")
WebDriverException: Message: unknown error: cannot focus element
(Session info: chrome=59.0.3071.115)

"检查元素"页

尝试将单击替换为send_keys(Keys.ENTER)确保导入键:from selenium.webdriver.common.keys import Keys。这个解决方案在最近使用 Chromedriver 的脚本上为我工作。

请尝试 Actions 类首先关注元素,然后发送所需的键。

Actions actions = new Actions(driver);
actions.moveToElement(element);
actions.click();
actions.sendKeys("SOME DATA");
actions.build().perform();

使用 Java/Selenium 在 Chrome 和 Edge 中获取无法聚焦元素

使用 JavaScript 执行器将元素滚动到视图中,然后执行单击该元素,如果该元素未显示在可见屏幕上,Chrome 驱动程序无法单击该元素。 即您需要向上或向下滚动元素才能使其显示在屏幕上单击它。

如果这对您有用,请告诉我。

这是我遇到的一个类似的问题,虽然我的解决方案是用 Java 的,但你应该能够获得它的要点并将其翻译成 python

private void scrollToElement(WebElement element){
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
}

我的原始帖子可以在这里找到:WebElement getText(( 是 Firefox 中的一个空字符串,如果元素在屏幕上物理上不可见

希望对您有所帮助

相关内容

  • 没有找到相关文章

最新更新