【发布时间】:2020-03-27 14:19:07
【问题描述】:
当元素存在于 DOM 中并且在视口中可见时,以下代码可以完美运行:
WebElement button = webdriver.findElement(By.id("myButton"));
但是,我不明白为什么当按钮存在于 DOM 中但在视口中不可见时它会引发异常。
我确定该按钮存在:这里没有 ajax 在起作用。
如何测试是否存在于 DOM 中的元素是否在视口中可见?
我已经在 stackoverflow 上看到了一些有用的链接:
https://stackoverflow.com/a/44916498/420593
How to check if an element is into view using Selenium WebDriver?
【问题讨论】:
-
你试过显式等待吗?
-
yes ` WebDriverWait wait = new WebDriverWait(webdriver, 3);wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.id("myButton")));` 但没有任何结果。
-
网址可以公开访问吗?