You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome升级至65版本后Selenium WebDriver点击元素报错求助

Chrome 65 + Selenium WebDriver 元素不可点击问题的解决办法

我之前适配Chrome新版本的时候也踩过这个坑,尤其是遮罩层抢点击事件的情况,结合你给出的报错信息,给你几个实用的解决思路:

  • 先等遮罩层消失再操作
    报错里明确说overlay_modal这个遮罩层会接收点击,说明你触发点击的时候这个遮罩还没完全消失。用Selenium的显式等待来处理最稳妥,等遮罩层不可见后再去点按钮:

    WebDriverWait wait = new WebDriverWait(driver, 10);
    // 等待id为overlay_modal的元素消失,超时10秒
    wait.until(ExpectedConditions.invisibilityOfElementLocated(By.id("overlay_modal")));
    
    // 再定位并点击BACK按钮
    driver.findElement(By.id("BACK")).click();
    
  • 用JavaScript直接触发点击
    如果等待后还是不行,大概率是Chrome 65的渲染逻辑和Selenium的模拟点击有冲突。这时候可以绕开原生点击,用JS直接触发元素的点击事件:

    WebElement backButton = driver.findElement(By.id("BACK"));
    JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
    jsExecutor.executeScript("arguments[0].click();", backButton);
    
  • 确认ChromeDriver版本适配
    Chrome 65对应的ChromeDriver版本是2.37(这个版本适配Chrome 64-66版本),如果你的ChromeDriver版本太旧,兼容性问题肯定少不了。赶紧检查下你的驱动版本,不匹配就换成对应版本的。

  • 换个更精准的定位方式
    有时候单一的id定位可能会受页面动态元素影响,试试结合多个属性的CSS选择器定位,稳定性会更好:

    driver.findElement(By.cssSelector("a.actionInActionBox#BACK[title='Selection Page']")).click();
    

内容的提问来源于stack exchange,提问作者krutika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:30:28