is not clickable at point (732,301) because another element " +
" obscures it");
diff --git a/src/org/labkey/test/util/selenium/ScrollUtils.java b/src/org/labkey/test/util/selenium/ScrollUtils.java
index e56802ebe0..aeb25868d3 100644
--- a/src/org/labkey/test/util/selenium/ScrollUtils.java
+++ b/src/org/labkey/test/util/selenium/ScrollUtils.java
@@ -64,13 +64,25 @@ public static boolean scrollUnderFloatingHeader(WebElement targetElement)
if (floatingHeaders.stream().anyMatch(headerEl -> rectanglesOverlap(rect, headerEl.getRect())))
{
TestLogger.debug("Scrolled under floating headers:\n" + floatingHeaders.stream().map(WebElement::toString).collect(Collectors.joining("\n")));
- ((Locatable) targetElement).getCoordinates().inViewPort(); // 'inViewPort()' will scroll element into view
+ scrollIntoViewPort(targetElement);
return true;
}
}
return false;
}
+ /**
+ * An alternate method for scrolling an element into view. Tends to get more of the element into view.
+ *
+ * @param targetElement the element to scroll into view
+ * @return the target element
+ */
+ public static WebElement scrollIntoViewPort(WebElement targetElement)
+ {
+ ((Locatable) targetElement).getCoordinates().inViewPort(); // 'inViewPort()' will scroll element into view
+ return targetElement;
+ }
+
private static boolean rectanglesOverlap(Rectangle r1, Rectangle r2)
{
return r1.getX() < r2.getX() + r2.getWidth() && r2.getX() < r1.getX() + r1.getWidth()