Skip to content

Instantly share code, notes, and snippets.

@navchandar
Last active July 9, 2020 12:27
Show Gist options
  • Select an option

  • Save navchandar/b563198cd3d44595a00452d72328c6c1 to your computer and use it in GitHub Desktop.

Select an option

Save navchandar/b563198cd3d44595a00452d72328c6c1 to your computer and use it in GitHub Desktop.
JavascriptExecutor js = (JavascriptExecutor) driver;
// Method 1
String scrollElementIntoMiddle = "var viewPortWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);" + "var viewPortHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);" + "var elementTop = arguments[0].getBoundingClientRect().top;" + "var elementLeft = arguments[0].getBoundingClientRect().left;" + "jQuery('div').scrollTop(elementTop-(viewPortHeight/2));" + "jQuery('div').scrollLeft(elementLeft-(viewPortWidth/2));";
js.executeScript(scrollElementIntoMiddle, element);
// Method 2
String scrollElementWithVanillaJS = "arguments[0].scrollIntoView({behavior:\"smooth\", block:\"center\", inline:\"center\"});";
js.executeScript(scrollElementWithVanillaJS, element);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment