【发布时间】: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