javascript 错误:无法在“文档"上执行“elementsFromPoint":提供的双精度值是非有限的

我最近将我的 chrome 版本更新到最新版本,即 79.0.3945.130 (Official Build) (64-bit) 并从

我正在使用下面的代码来选择一个值

Select s = new Select(getDriver().findElement(By.id("attribute178")));s.selectByIndex(1);

错误堆栈跟踪

<块引用>

Javascript 错误:无法在文档"上执行elementsFromPoint":提供的双精度值是无限的.(会话信息:chrome=79.0.3945.130)构建信息:版本:'3.13.0',修订:'2f0d292',时间:'2018-06-25T15:24:21.231Z' 系统信息:主机:'ispl_723.test.com', ip: 'fe80:0:0:0:419:64fe:5dea:dae5%en0',os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6',java.version: '1.8.0_191' 驱动信息:com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver功能 {acceptInsecureCerts: false, browserName: chrome,浏览器版本:79.0.3945.130,铬:{chromedriverVersion:79.0.3945.36 (3582db32b3389..., userDataDir:/var/folders/qf/x6bn9cgj1rx...}, goog:chromeOptions: {debuggerAddress:本地主机:61452},javascriptEnabled:真,networkConnectionEnabled:假,pageLoadStrategy:正常,平台:MAC,平台名称:MAC,代理:代理(),setWindowRect:真,strictFileInteractability:假,超时:{隐式:0,pageLoad:300000,脚本:30000},unhandledPromptBehavior:关闭并通知}

之前我使用的是 Chrome 75,一切正常.有没有人遇到过这个问题?已在 SO 上发布与此错误相关的问题没有帮助.

解决方案

在我的例子中,我在每个命令监听器中使用 new Actions(driver).moveToElement(element).perform();命令,因此它将焦点移到正在执行的元素上.

这一行导致了上述错误.对此发表评论后,它的工作正常.

I recently updated my chrome version to latest i.e. 79.0.3945.130 (Official Build) (64-bit) and downloaded compatible chromedriver from here

I've started facing this error. While debugging in detail i found that the Select class causing the issue. wherever I'm selecting a dropdown in my code I'm getting this issue.

The HTML of dropdown looks like below snippet:

<div class="rd-input--wrapper" id="178">
    <label for="attribute178">Flavour</label>
    <select name="super_attribute[178]" data-selector="super_attribute[178]" data-validate="{required:true}" id="attribute178" class="super-attribute-select">
        <option value="">Select</option>
        <option value="27">Chocolate</option>
        <option value="28">Strawberry</option>
    </select>
</div>

And dropdown on Webpage:

I'm using below code to select a value

Select s = new Select(getDriver().findElement(By.id("attribute178")));
s.selectByIndex(1);

Error stacktrace

Javascript error: Failed to execute 'elementsFromPoint' on 'Document': The provided double value is non-finite. (Session info: chrome=79.0.3945.130) Build info: version: '3.13.0', revision: '2f0d292', time: '2018-06-25T15:24:21.231Z' System info: host: 'ispl_723.test.com', ip: 'fe80:0:0:0:419:64fe:5dea:dae5%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '1.8.0_191' Driver info: com.qmetry.qaf.automation.ui.webdriver.QAFExtendedWebDriver Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.130, chrome: {chromedriverVersion: 79.0.3945.36 (3582db32b3389..., userDataDir: /var/folders/qf/x6bn9cgj1rx...}, goog:chromeOptions: {debuggerAddress: localhost:61452}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}

Earlier I was using Chrome 75 and everything was working as expected. Has anyone faced this issue? Already posted question related to this error on SO is not helpful.

解决方案

In my case i was using new Actions(driver).moveToElement(element).perform(); in Command Listener before each command so it move the focus on element which being executed.

This line causing the error mentioned in question. After commenting this its working fine.

相关文章