无法直接通过API进行 *** 作,因此您必须使用脚本注入。
确定元素在视口中是否可见的最佳方法是使用document.elementFromPoint将元素放置在假定的位置。如果它不在视口和您的元素中,则返回null;如果它不在子元素中,则返回null。
public static Boolean isVisibleInViewport(WebElement element) { 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);}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)