Javascript 如何在选择元素并使用selenium(在桌面屏幕中使用)刷新页面后,在视口中检查元素是否可用
问题:在选择元素并刷新页面后,该元素不可见。在修复之后,元素在页面刷新后不进行任何滚动就可见了。这样我可以选择一个不同的选项 我在下面进行了尝试,不管视口中是否存在元素(在可见屏幕中),测试是否通过。如果有人能发布解决方案,我真的很感激Javascript 如何在选择元素并使用selenium(在桌面屏幕中使用)刷新页面后,在视口中检查元素是否可用,javascript,java,selenium,selenium-webdriver,Javascript,Java,Selenium,Selenium Webdriver,问题:在选择元素并刷新页面后,该元素不可见。在修复之后,元素在页面刷新后不进行任何滚动就可见了。这样我可以选择一个不同的选项 我在下面进行了尝试,不管视口中是否存在元素(在可见屏幕中),测试是否通过。如果有人能发布解决方案,我真的很感激 WebElement element = > WebDriverManager.getWebDriver().findElement(By.id("CUSTRATINGS")); > > WebDriver driver =
WebElement element =
> WebDriverManager.getWebDriver().findElement(By.id("CUSTRATINGS"));
>
> WebDriver driver = ((RemoteWebElement)element).getWrappedDriver();
>
> return (Boolean)((JavascriptExecutor)driver).executeScript(
> "var elem = arguments[0], " +
> " box = elem.getBoundingClientRect(), " +
> " cx = box.left + box.width / 2, " +
> " cy = box.top + box.height / 2, " +
> " e = document.elementFromPoint(cx, cy); " +
> "for (; e; e = e.parentElement) { " +
> " if (e === elem) " +
> " return true; " +
> "} " +
> "return false; "
> , element);
页面刷新后是否重新捕获元素?首先,我在页面上登陆并选择元素,然后页面将刷新。之后,我将捕获元素以在视口中查看或不查看。是的,重新捕获。我认为您需要根据元素的位置检查window.innerHeight。如果文档高度大于窗口高度,则会出现滚动条。宽度也是如此。。。。使用window.innerWidth