Exception in thread “main“ org.openqa.selenium.ElementClickInterceptedException: element click inter

这篇博客介绍了在Selenium+Java+maven环境下遇到的ElementClickInterceptedException异常。错误源于Chrome窗口缩放导致元素不可见。解决方案包括最大化窗口、使用driver.submit()、driver.sendKeys(Keys.ENTER)或dragAndDrop()方法来规避点击问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行环境:

Selenium+Java+maven


问题描述

错误提示:Exception in thread "main" org.openqa.selenium.ElementClickInterceptedException: element click intercepted: Element is not clickable at point (669, 35)

错误翻译:线程“main”中的异常 org.openqa.selenium.ElementClickInterceptedException: 元素单击被拦截: 元素在点 (669, 35) 处不可点击

错误简介click失效

public class WebDriver常用方法 {
    public static void main(String[] args) throws InterruptedException {
        ChromeDriver driver = new ChromeDriver();

        driver.get("https://www.baidu.com");
        driver.manage().window().setSize(new Dimension(500,900));

        WebElement bd_text = driver.findElement(By.cssSelector("#kw"));
        WebElement bd_button = driver.findElement(By.id("su"));
        //WebElement bd_button = driver.findElement(By.xpath("//span[@class='bg s_btn_wr']/input"));

        bd_text.sendKeys("java");
        Thread.sleep(2000);

        bd_text.clear();
        bd_text.sendKeys("python");
        bd_button.click();

        Thread.sleep(2000);
        driver.quit();
    }
}

原因分析:

因为我将Chrome窗口进行了缩放,在缩小之后,原界面中的button按钮不可见,导致程序无法通过定位找到元素值,无法用click点击从而报错。


解决方案:

1.将窗口调制最大

2.可以将driver.click改为driver.submit(),从而不需要进行点击就可以用类似于enter进行提交

3.也可以用driver.sendKeys(Keys.ENTER)实现回车功能进行

4.如果必要进行小窗口调试,则需要用dragAndDrop() 拖动鼠标事件拖动见面,然后在进行click()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值