【问题标题】:Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: cannot focus element线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:无法聚焦元素
【发布时间】:2017-10-27 19:56:19
【问题描述】:

我一直在尝试使用 Selenium sendkeys(),但没有成功使用 Chrome。我在这里研究了类似的问题,这些问题似乎没有成功。我可以生成 URL,调用按钮 (click()),但是当我尝试在特定文本字段中输入值时,我得到:

“线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:无法聚焦元素。”

不胜感激。谢谢!

这是一段代码:

WebElement titleBox = driver.findElement(By.xpath("//*[@id='root']/div/div[2]/div/div/div[2]/div[1]"));
titleBox.click();
titleBox.sendKeys("Test Survey Title");

这是堆栈跟踪:

在端口 43615 上启动 ChromeDriver 2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b) 只允许本地连接。 2017 年 5 月 26 日下午 3:42:50 org.openqa.selenium.remote.ProtocolHandshake createSession 信息:检测到的方言:OSS 线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:无法聚焦元素 (会话信息:chrome=58.0.3029.110) (驱动程序信息:chromedriver=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b),platform=Mac OS X 10.12.5 x86_64)(警告:服务器未提供任何堆栈跟踪信息) 命令持续时间或超时:43 毫秒 构建信息:版本:'3.4.0',修订:'未知',时间:'未知' 系统信息:主机:'Enriques-MacBook-Pro.local',ip:'10.0.0.208',os.name:'Mac OS X',os.arch:'x86_64',os.version:'10.12.5' , java.version: '1.8.0_131' 驱动程序信息:org.openqa.selenium.chrome.ChromeDriver 功能 [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.29.461585 (0be2cd95f834e9ee7c46bcc7cf405b483f5ae83b), userDataDir=/var/folders/55/jxcw642x4593njd3nnysck_8000000 .4miVBB},takeHeapSnapshot=true,pageLoadStrategy=normal,databaseEnabled=false,handlesAlerts=true,hasTouchScreen=false,版本=58.0.3029.110,平台=MAC,browserConnectionEnabled=false,nativeEvents=true,acceptSslCerts=true,locationContextEnabled=true, webStorageEnabled=true,browserName=chrome,takeScreenshot=true,javascriptEnabled=true,cssSelectorsEnabled=true,unexpectedAlertBehaviour=}] 会话 ID:c0d55118bf095a12cb6e105b581b149e 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215) 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:671) 在 org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:272) 在 org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:96) 在 LaunchChrome.main(LaunchChrome.java:36)

【问题讨论】:

标签: java macos google-chrome selenium-webdriver


【解决方案1】:

您可以尝试以下代码使用操作类来关注您的元素,然后再与它进行交互:

WebElement titleBox = driver.findElement(By.xpath("//*@id='root']/div/div[2]/div/div/div[2]/div[1]"));

Actions action = new Actions(driver);
action.moveToElement(titleBox).build().perform();
titleBox.click();
titleBox.sendKeys("Test Survey Title");

【讨论】:

  • 我在查看此问题时在差异帖子中看到了这一点。不幸的是,这对我不起作用。我似乎无法解决“无法聚焦元素”的问题。
  • 也许应该,但不适合我。对 Selenium 有点失望,首先我遇到了与 IDE 类似的问题,当时我能够让页面做我想做的事情,但无法让“sendkeys”或“type”输入值,所以我决定给webdriver 使用 chrome 拍摄...我在这里。无论如何,谢谢您的宝贵意见。和平。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-24
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 2018-12-31
相关资源
最近更新 更多