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

如何修复使用java在selenium中使用显式等待时的TimeOutExc0019错误

晋天逸
2023-03-14
try {
        WebDriverWait wait = new WebDriverWait(driver,30);
        WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("myDynamicElement")));
        } catch (TimeOutException toe) {

共有1个答案

胡高寒
2023-03-14

当Selenium未能在与传递的定位器匹配的页面元素上定位时,会引发异常myDynamicElementid在您的案例中
这可能是由以下原因之一造成的:
1)
您使用了错误的定位器
2)
元素位于iframe内
3)
您在浏览器上打开了一个新的选项卡/窗口,但没有将驱动程序切换到新打开的选项卡<等等。

 类似资料:
  • 问题内容: 我在用: 但是对于以下元素它仍然连续失败 我添加了等待代码: 隐式等待是否应该等到找到一个元素后再进行处理?如果我使用而不是我添加的代码,还会更好吗? 问题答案: TL; DR:始终使用显式等待。忘记隐式等待的存在。 以下是显式等待与隐式等待之间的区别的简要概述: 显式等待: 记录和定义的行为。 在硒的本地部分运行(以你的代码语言显示)。 可以在你能想到的任何条件下工作。 返回成功或超

  • 创建驱动程序时,我已将隐式等待设置为10秒。当我希望使用显式等待时,是否必须将隐式等待设置为0? 以下是一个示例: 我必须做webDriver.manage()。超时()。秒);还是没有必要?

  • 问题内容: 我是初学者。我了解基本等待的内容,但是我对互联网上的不同教程如何放置并进行解释感到困惑。例如,在下面的代码中,将其放置在加载URL之前。因此,是否只是等待URL加载或查找元素或两者兼而有之?的确,如果我在try块中使用一次隐式等待,它是否适用于我在代码中执行的每个元素搜索? 问题答案: 隐式等待 ImplicitWait按照该Java文档是指定的时间量 webdriver的 情况下,即

  • 我正在寻找一个元素http://ntry.com/#/stats/ladder/round.php,但在尝试了几种方法后,我一直未能找到它,包括通过css选择器的ind_元素,通过xpath的ind_元素。。。等等 即使我使用WebDriverWait,我还是失败了。有什么问题吗? 我使用隐式等待,但这也会产生相同的错误。不使用Wait也会导致NoTouchElementException。 网站

  • 问题内容: 我在弄清楚如何使用Selenium的wait函数时遇到了麻烦。我正在尝试做的是检查元素是否存在以及是否存在,然后将打印一条语句。这是我的代码: 当前代码给我以下错误: 问题答案: 预期条件期望将元组传递进来,其中第一项是定位器的类型(常量),第二项是定位器的值: 请注意,您的情况会更简单:

  • 我如何用一个显式的替换这个隐式的等待呢? driver=新ChromeDriver(功能); driver.manage().DeleteAllCookies();