当前位置: 首页 > 知识库问答 >
问题:

从FireFoxDriver切换到ChromeDriver会导致一些元素加载错误(Selenium)

施永宁
2023-03-14

我有一个硒项目,直到现在我使用FireFoxDriver,但现在我试图使用ChromeDriver(这是X100更快),我得到分配失败在我的测试与错误元素不可见或元素目前不是棘手的,可能不是操纵"

需要更多的等待吗。直到这是为什么?

共有1个答案

殷宾白
2023-03-14

Selenium需要元素在DOM中可见/存在,以便与它们交互。正如你所说,Chrome比FireFox更快,所以WebDriver在元素还不可见/不存在之前就试图与DOM交互。

明确等待

wait.until(ExpectedConditions.visibilityOfElementLocated());

和隐含的等待

driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

应该能解决你的问题。

 类似资料:
  • 我最近遇到了一个问题,我们的一个遗留应用程序依赖于UPS跟踪API。UPS更改了其通信协议以要求TLSv1。2.不幸的是,JDK1.6的最新公共版本似乎不支持此协议,因此我的选择是支付oracle支持合同或升级到JDK1.7。我升级到了1.7 我改变了项目的依赖关系,一切看起来都很好。当我尝试实际部署到应用程序服务器时,失败了,错误如下: com.sun.xml.bind.v2.runtime.I

  • 我有两个对象,分别是和。它们都正确地映射了条令注释和Adresa是一对一的关联。 我可以使用实体管理器分别加载Osoba和Adresa。只要Osoba没有填充属性Adresa,它就可以正常工作。但当我用属性Adresa保存Osoba并试图从数据库检索对象时,抛出了一个错误。 这就是我试图获取对象Osoba的方式。数据库中id为13的Osoba包含指向Adresa表的id。 抛出的错误是 这是我的O

  • 我知道这是一个重复的问题,但我没有得到解决方案,因此再问一次。 我正在使用selenium C#,并在同一页面上的同一个操作中得到上述错误。我的测试在本地机器上运行良好,但当我通过TFS在服务器上执行时,相同的测试不一致。 我在测试中做了一些更改,因为它在单击操作后重新加载DOM,现在我在本地机器上重新加载对象后检查它是否正常工作,但在服务器上不一致。如果选中了复选框,我需要取消选中。我在包含此复

  • 我有一个问题,试图在同一个元素上使用Angular的和。 当尝试在中循环遍历集合时,该集合被视为,因此在尝试访问模板中的属性时失败。 我知道简单的解决方案是将向上移动一个级别,但是对于像在中循环列表项这样的场景,如果集合是空的,我会得到一个空的,或者我的被包装在冗余容器元素中。 示例在这个plnkr。 注意控制台错误: 我做错什么了还是这是一个错误?

  • 我有一个多模块项目设置声纳分析使用方法#2,从分析与SonarQube Runner。 唯一的区别是我不使用全局sonar-project.properties文件。全局属性定义在jenkins在声纳转轮构建步骤。 这与声纳转轮2.3配合非常好。当我从2.3切换到Sonar Runner 2.4时,这将失败,错误是没有定义强制的Sonar.sources属性。 或者有办法告诉Sonar Runne

  • 问题内容: 当我尝试使用Terminal中的命令使用python创建虚拟环境时,出现以下错误: 我不是第一个遇到类似错误的人-我尝试遵循此答案的建议并运行: 那没有帮助。也没有以超级用户身份运行commmand。 接下来我应该调查什么? 问题答案: 我有完全相同的错误消息。Continuum Analytics支持小组的Ray Donnelly提供了以下解决方案,为我解决了这个问题: 当您pip安