抛出未知的“非限定双精度值” JavaScript错误

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

我在执行actions.moveToElement(ele).click()。build()。perform()时遇到以下错误:javascript错误:无法在“文档”上执行“ elementsFromPoint”:提供的双精度值是非限定的。

[一些搜索显示,使用Chrome Mobile或其他产品的人都收到了此消息,但我只是将常规的ChromeDriver(78)版本与Java一起使用。他们说它固定在我不使用的产品中。

有人在常规的Chrome驱动程序中拥有这个吗?

selenium-chromedriver action
2个回答
0
投票

我在普通的chrome 78浏览器上单击“音频暂停按钮”时遇到相同的错误;问题是中间的,仅在远程浏览器上。

无法获得明确的解决方案。

我的错误详细信息:org.openqa.selenium.JavascriptException:JavaScript错误:无法在“文档”上执行“ elementsFromPoint”:提供的双精度值是非限定的。 (会话信息:chrome = 78.0.3904.70)构建信息:版本:'3.11.0',版本:'e59cfb3',时间:'2018-03-11T20:26:55.152Z'系统信息:主机:'ip-10 -0-10-137'',ip:'10 .0.10.137',操作系统名称:'Linux',os.arch:'amd64',os.version:'4.4.0-71-generic',java.version: '1.8.0_111'驱动程序信息:org.openqa.selenium.remote.RemoteWebDriver功能{acceptInsecureCerts:true,browserName:chrome,browserVersion:78.0.3904.70,chrome:{chromedriverVersion:78.0.3904.70(edb9c9f3de024 ...,userDataDir:C :\ Windows \ proxy \ scoped_dir ...},goog:chromeOptions:{debuggerAddress:localhost:1674},javascriptEnabled:true,networkConnectionEnabled:false,pageLoadStrategy:正常,平台:XP,platformName:XP,代理:Proxy(), setWindowRect:正确,strictFileInteractability:否,超时:{隐式:0,pageLoad:300000,脚本:30000},unhandledPromptBehavior:接受,webdriver.remote.sessionid:eb7d4195af3426c181317a16028 ...}会话ID:eb7d4195af3426c15ref15b15e15conf15e15conc15181e160b.png java.lang.reflect.Instance(构造函数)上的sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)上的uctorAccessorImpl.newInstance0(Native方法) java:423),位于org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187),位于org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodea.java:423) org.openqa.selenium.remote.RemoteWebDriver(.org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)上的.selenium.remote.http.W3CHttpResponseCodec.java:49 .java:545),位于org.openqa.selenium.remote.RemoteWebDriver.perform(RemoteWebDriver.java:611),位于org.openqa.selenium.interactions.Actions $ BuiltAction.perform(Actions.java:638),位于webDriver.Driver。在pageObjects.ActivityP上单击(Driver.java:147)在Definition处的stepDefinition.Activity.theAudioPlayerOfTheElementIsStoppedIn(Activity.java:61)处的ageObject.clickAudioInlineStopIn(ActivityPageObject.java:205)在“ [data-rcfid ='checkbox_7']”中停止“ item_1”元素的音频播放器时(/opt/atlassian/bamboo-home/xml-data/build-dir/16744451/RCF1-RMIT-BROW3/rcf-automation-tests/src/test/resources/featureFiles/interactions/markedInteractions/CheckBox.feature:433)


0
投票

我发现我看到此错误的原因是我尝试单击的元素是<title>元数据元素。我的原始代码使用页面上的可见文本选择了一个要单击的元素:

var element = driver.FindElement(By.XPath("//*[contains(text(), '" + text + "')]"));

new Actions(this.Driver)
    .MoveToElement(element, 1, 1)
    .Click()
    .Perform();

但是,该文本也存在于浏览器的标题中,因此返回的元素实际上是<title>元数据元素。我尚未创建此元素,仅设置了document.title,因此看到这一切有些惊讶。我不认为这是过去的行为,还是……?

我的解决方法是在我的xpath查询中排除标题元素:

var element = driver.FindElement(By.XPath("//*[not(self::title) and contains(text(), '" + text + "')]"))
© www.soinside.com 2019 - 2024. All rights reserved.