Selenium Java:等待可点击

问题描述 投票:0回答:1

我在硒等待中陷入困境。我正在将Selenium Java与黄瓜一起使用。单击按钮后,将加载一个新页面,但尚未使内容可单击。页面背面加载时,显示灰色屏幕阻止程序,以使其在整个页面加载之前不可编辑。所以我不能使用waitforpageload或等待元素可见,因为当元素在后台可用时它们都返回true。我试图使用一种条件来检查元素是否可单击以确保页面完全加载。但这也不起作用。页面加载到后台后,将执行进一步的检查,并且测试最终会出错。

我也尝试过waituntilelementis可见:

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,然后继续执行下一步。如何使硒等待灰屏消失,然后在页面上查找内容。

任何答复都将不胜感激。

-Lakshmi。

java selenium cucumber-java webdriverwait
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.