selenium-webdriver - CheckBox 不可点击,因为另一个元素
问题描述
我尝试通过 firefox webdriver 选择复选框,但总是出现如下错误:
线程“主”org.openqa.selenium.ElementClickInterceptedException 中的异常:元素在点 (482,548) 处不可点击,因为另一个元素遮住了它
我尝试了几个解决方案的建议,例如最大化页面、定位复选框元素和使用操作,但没有一个有帮助。我认为问题出在复选框附近的标签上。Selenium 试图定位我认为的文本的中心,此时,存在一个到模态窗口的链接。
示例代码如下:
WebElement element = driver.findElement(By.name("aydinlatma"));
js.executeScript("arguments[0].scrollIntoView();",element );
element.click();
/*Actions action = new Actions(driver);
action.moveToElement(element).click().perform();
*/
感谢帮助。
解决方案
也许您正试图在页面和这个确切的复选框正在加载时单击。尝试为这个元素实现等待机制,就像这样:
WebDriverWait wait = new WebDriverWait(driver, timeoutInSeconds);
wait.until(ExpectedConditions.elementToBeClickable(<locator>);
推荐阅读
- redirect - 发布和重定向到另一个页面不保存数据
- google-apps-script - 使用 Apps 脚本替换带有 \r 或 \n 的内容时出现问题
- docker - 当我使用绑定挂载时 Docker 容器退出(简单的 php/apache 设置)
- javascript - 如何在同一函数中使用异步数据两次更新状态
- react-native - react native 中钩子的正确语法
- java - restTemplate.postForObject 不发送对象的所有成员变量
- ios - 从上下文中删除后核心数据对象不为零
- android - Android Retrofit NetworkBoundResource 返回 null
- 2d - 如何在 2D 游戏(暗黑破坏神 II)中找到内存中的 XYZ 坐标
- python - Odoo 自定义过滤功能