selenium-webdriver - 应用程序的自动保存功能导致 selenium 脚本失败
问题描述
org.openqa.selenium.ElementClickInterceptedException:元素在点 (856,732) 处不可点击,因为另一个元素遮住了它
解决方案
请尝试以下选项,
- 根据我的理解,如果我们使用具有自动保存功能的网络表单,那么如果我们离开特定字段,自动保存将被触发,并且自动保存需要一些时间才能发生。因此,在您的情况下,您可以尝试离开该字段(即,通过使用 selenium 在该字段之外单击)并让代码等待一段时间以完成自动保存。
对于这种情况,您可以使用显式等待。下面的命令将等待最多 40 秒,以使按钮变为可点击。如果元素在 40 秒前可点击,它将点击它。如果 40 秒的等待时间超过了,那么它将抛出异常。
WebDriverWait wait = new WebDriverWait(driver, 40);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElementById("element-id"));
推荐阅读
- java - 这是一个图书馆还是已添加手动?
- django - Django allauth 不发送任何电子邮件
- mysql - 如何为每个字段汇总具有特定条件的多个字段
- javascript - Django 使用 Dropzone 将文件添加到模型
- android - 如何创建具有自定义布局的模态底页?
- laravel - 子域中的 Laravel Horizon
- crystal-reports - 如果值,那么值在 Crystal
- visual-studio - 我们是否也应该在将更改提交到存储库时暂存 .dll 文件?
- flutter - Flutter:如何在 Scaffold 中有一个抽屉但没有汉堡包图标?
- html - 将页脚保持在页面最底部的提示?