【发布时间】:2018-01-08 18:38:42
【问题描述】:
有没有办法检查元素是否在前台?
当我在弹出窗口中输入值并单击“保存并继续”时, 我检查了“取消”按钮(在上图中突出显示)是否已启用,并尝试再次检查它是否显示。
driver.findElement(By.xpath("//input[contains(@id,'Cancel')]")).isEnabled();
driver.findElement(By.xpath("//input[contains(@id,'Cancel')]")).isDisplayed();
系统需要一些加载时间才能使此弹出窗口消失并重新获得主窗口的焦点。
但即使在弹出窗口消失之前,我检查 (WebDriver wait) 以查看“取消”按钮是否已启用/显示,都返回 true 并继续执行进一步的执行。
如果我输入Thread.sleep 2 秒,它绝对可以正常工作。但我不想无条件地停止执行。所以现在我需要找出是否有任何方法可以检查一个元素是否真的在前景中并且是焦点。
有人可以帮忙吗?
【问题讨论】:
标签: java selenium selenium-webdriver wait