使用Selenium web驱动程序打印webelement的xy坐标时获取java.lang.NumberFormatException

使用Selenium web驱动程序打印webelement的xy坐标时获取java.lang.NumberFormatException,java,eclipse,selenium,testing,selenium-webdriver,Java,Eclipse,Selenium,Testing,Selenium Webdriver,下面是我的示例代码,取自这个Stackoverflow问题 用于查找Web元素XY cordinates的示例代码。获取错误“org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已死亡。” 或者在eclipse控制台上打印的错误中,对于输入字符串获取“由:java.lang.NumberFormatException:引起:”617.7“ 下面是我在Eclipse控制台中得到的错误 FAILED: Dragn

下面是我的示例代码,取自这个Stackoverflow问题

用于查找Web元素XY cordinates的示例代码。获取错误“org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已死亡。”

或者在eclipse控制台上打印的错误中,对于输入字符串获取“由:java.lang.NumberFormatException:引起:”617.7“

下面是我在Eclipse控制台中得到的错误

FAILED: DragnDrop
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
System info: host: 'Assembly-SRV-India-01', ip: '192.168.56.1', os.name: 'Windows Server 2019', os.arch: 'amd64', os.version: '10.0', java.version: '13.0.1'
Driver info: driver.version: RemoteWebDriver
Capabilities [{mobileEmulationEnabled=false, timeouts={implicit=0, pageLoad=300000, script=30000}, hasTouchScreen=false, platform=XP, acceptSslCerts=false, goog:chromeOptions={debuggerAddress=localhost:53007}, acceptInsecureCerts=false, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=ignore, applicationCacheEnabled=false, rotatable=false, networkConnectionEnabled=false, chrome={chromedriverVersion=80.0.3987.106 (f68069574609230cf9b635cd784cfb1bf81bb53a-refs/branch-heads/3987@{#882}), userDataDir=C:\Users\ADMINI~1\AppData\Local\Temp\scoped_dir13692_615110410}, takesHeapSnapshot=true, pageLoadStrategy=normal, strictFileInteractability=false, databaseEnabled=false, handlesAlerts=true, version=80.0.3987.163, browserConnectionEnabled=false, proxy={}, nativeEvents=true, locationContextEnabled=true, cssSelectorsEnabled=true}]
Session ID: 3fd2a3a2ac16566e351a75da0844a4d4
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
    at org.openqa.selenium.remote.RemoteWebElement.getLocation(RemoteWebElement.java:380)
    at login.onlinedraganddrop.DragnDrop(onlinedraganddrop.java:51)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
    at org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
    at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
    at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
    at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
    at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
    at org.testng.TestRunner.privateRun(TestRunner.java:774)
    at org.testng.TestRunner.run(TestRunner.java:624)
    at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
    at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
    at org.testng.SuiteRunner.run(SuiteRunner.java:261)
    at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
    at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
    at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
    at org.testng.TestNG.run(TestNG.java:1048)
    at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
    at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
**Caused by: java.lang.NumberFormatException: For input string: "617.7"**
    at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
    at java.base/java.lang.Integer.parseInt(Integer.java:658)
    at java.base/java.math.BigInteger.<init>(BigInteger.java:535)
    at java.base/java.math.BigInteger.<init>(BigInteger.java:673)
    at com.google.gson.internal.LazilyParsedNumber.longValue(LazilyParsedNumber.java:51)
    at com.google.gson.JsonPrimitive.getAsLong(JsonPrimitive.java:233)
    at org.openqa.selenium.remote.JsonToBeanConverter.convertJsonPrimitive(JsonToBeanConverter.java:249)
    at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:75)
    at org.openqa.selenium.remote.JsonToBeanConverter.convertMap(JsonToBeanConverter.java:344)
    at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:219)
    at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:43)
    at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:144)
    at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:43)
    at org.openqa.selenium.remote.http.JsonHttpResponseCodec.decode(JsonHttpResponseCodec.java:78)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:145)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644)
    ... 27 more
失败:DragnDrop
org.openqa.selenium.remote.UnreachableBrowserException:与远程浏览器通信时出错。它可能已死亡。
构建信息:版本:“2.53.0”,修订版:“35ae25b”,时间:“2016-03-15 16:57:40”
系统信息:主机:'Assembly-SRV-India-01',ip:'192.168.56.1',os.name:'Windows Server 2019',os.arch:'amd64',os.version:'10.0',java.version:'13.0.1'
驱动程序信息:Driver.version:RemoteWebDriver
功能[{mobileEmulationEnabled=false,超时={implicit=0,pageLoad=300000,script=30000},hasTouchScreen=false,platform=XP,acceptSslCerts=false,goog:chromeOptions={debuggerAddress=localhost:53007},AcceptInsureCerts=false,WebStorage Enabled=true,browserName=chrome,takesScreenshot=true,javascriptEnabled=true,setWindowRect=true,unexpectedAlertBehaviour=ignore,applicationCacheEnabled=false,rotatable=false,networkConnectionEnabled=false,chrome={chromedriverVersion=80.0.3987.106(f68069574609230cf9b635cd784cfb1bf81bb53a参考文献/分支机构负责人/3987{882}),userDataDir=C:\Users\ADMINI~1\AppData\Local\Temp\scoped\u dir13692\u 615110410},takesHeapSnapshot=true,pageLoadStrategy=normal,strictfileinteractibility=false,databaseEnabled=false,handlesAlerts=true,version=80.0.3987.163,browserConnectionEnabled=false,proxy=}=false,nativeEvents=true,locationContextEnabled=true,CSSSelectorEnabled=true}]
会话ID:3FD2A3A2AC1656E351A75DA0844A4D4
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665)
位于org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
位于org.openqa.selenium.remote.RemoteWebElement.getLocation(RemoteWebElement.java:380)
在login.onlinedraganddrop.DragnDrop(onlinedraganddrop.java:51)处
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
位于java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
位于java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
位于java.base/java.lang.reflect.Method.invoke(Method.java:567)
位于org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
位于org.testng.internal.Invoker.invokeMethod(Invoker.java:639)
位于org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
位于org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
位于org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
位于org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
位于org.testng.TestRunner.privateRun(TestRunner.java:774)
位于org.testng.TestRunner.run(TestRunner.java:624)
位于org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
在org.testng.SuiteRunner.runsequential上(SuiteRunner.java:354)
位于org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
运行(SuiteRunner.java:261)
位于org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
位于org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
在org.testng.testng.runSuitesSequentially上(testng.java:1215)
位于org.testng.testng.runSuitesLocally(testng.java:1140)
位于org.testng.testng.run(testng.java:1048)
位于org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115)
位于org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)
位于org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)
**原因:java.lang.NumberFormatException:对于输入字符串:“617.7”**
位于java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)
位于java.base/java.lang.Integer.parseInt(Integer.java:658)
位于java.base/java.math.biginger。(biginger.java:535)
位于java.base/java.math.biginger。(biginger.java:673)
位于com.google.gson.internal.lazlyparsednumber.longValue(lazlyparsednumber.java:51)
位于com.google.gson.JsonPrimitive.getAsLong(JsonPrimitive.java:233)
位于org.openqa.selenium.remote.JsonToBeanConverter.convertJsonPrimitive(JsonToBeanConverter.java:249)
位于org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:75)
位于org.openqa.selenium.remote.JsonToBeanConverter.convertMap(JsonToBeanConverter.java:344)
位于org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:219)
位于org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:43)
位于org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:144)
位于org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:43)
在org.openqa.selenium.remote.http.JsonHttpResponseCodec.decode(JsonHttpResponseCodec.java:78)
位于org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:145)
位于org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)
位于org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644)
…还有27个
mouseMove()
方法将
整数
作为变量,但是您在维度上使用除法,该方法将返回一个
双精度/浮点
值,因此您将获得
NumberFormatException

要解决此问题,需要将这些值键入
int

你可以这样做:

robot.mouseMove(robot.mouseMove(itemToBeDragged.getLocation().x+(int)itemToBeDragged.getSize().width/2), itemToBeDragged.getLocation().y+(int)itemToBeDragged.getSize().getHeight()/2));
您需要附加
(int
robot.mouseMove(robot.mouseMove(itemToBeDragged.getLocation().x+(int)itemToBeDragged.getSize().width/2), itemToBeDragged.getLocation().y+(int)itemToBeDragged.getSize().getHeight()/2));