Selenium视口中元素的验证

Selenium视口中元素的验证,第1张

Selenium视口中元素的验证

无法直接通过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);}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5428303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存