【问题标题】:Selenium Java : wait until clickableSelenium Java:等到可点击
【发布时间】:2019-03-17 03:45:25
【问题描述】:

我遇到了硒等待的情况。我正在使用 Selenium Java 和黄瓜。 单击按钮时会加载新页面,但内容尚未可单击。页面在背面加载时会显示一个灰色屏幕阻止程序,以使其在加载整个页面之前不可编辑。所以我不能使用 waitforpageload 或等待元素可见,因为它们都返回 true,因为元素在后台可用。 我尝试使用条件来检查元素是否可点击以确保页面完全加载。但这也没有用。一旦页面在后台加载,就会执行进一步的检查,并且测试会出​​错。

我也试过waituntileelementis visible:

public static void waitUntilTextIsInvisible(final String text, final int timeoutInSecs)
    {
        if (StringUtils.isBlank(text))
        {
            return;
        }

        try
        {
            (new WebDriverWait(_webDriver, timeoutInSecs))
                    .until(new ExpectedCondition<Boolean>()
                    {
                        @Override
                        public Boolean apply(final WebDriver d)
                        {
                            return SeleniumUtils.findElementsContainingText(text, d).size() == 0;
                        }
                    });
        }
        catch (TimeoutException e)
        {
            LOG.error("Exception on page " + _webDriver.getCurrentUrl()
                    + " waiting for text " + text + " to be visible");
            throw e;
        }
    }

但这甚至返回了一个 true 并继续执行下一步。 如何让 selenium 等待灰屏消失,然后在页面上查找内容。

我们将不胜感激。

-拉克希米。

【问题讨论】:

  • 参见:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
  • 你也应该为你想要的语言添加一个标签。

标签: java selenium cucumber-java webdriverwait


【解决方案1】:

当页面加载并出现灰屏阻止程序时,您可以暂停浏览器。获取它的 xpath 并等待它不再存在。让我知道这是否有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2016-12-29
    • 2020-02-23
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多