.body.scrollHeight
does not work in Firefox.
See: http://jsfiddle.net/gjrowe/X63KR/
What is the correct syntax to use instead?
To get the height of the scroll bar the offsetHeight of div is subtracted from the clientHeight of div. OffsetHeight = Height of an element + Scrollbar Height. ClientHeight = Height of an element. Height of scrollbar = offsetHeight – clientHeight.
The scrollHeight property returns the height of an element including padding, but excluding borders, scrollbars, or margins. The scrollHeight property returns the height in pixels.
$(document). ready(function() { //Get height of the div var iHeight = $("#dvContent"). height(); //Get ScrollHeight of the div var iScrollHeight = $("#dvContent"). prop("scrollHeight"); var msg = 'Height:' + iHeight + 'px & ScrollHeight:' + iScrollHeight + 'px'; $("span").
Use below code:
JavascriptExecutor jse = (JavascriptExecutor) (WebDriverObject);
jse.executeScript("window.scrollBy(0,document.body.scrollHeight || document.documentElement.scrollHeight)", "");
This question has the same root problem as the thread at... Dynamically define iframe height based on window size (NOT CONTENT)
Understanding the issue at that thread will give the solution to this.
Basically, instead of using .body.scrollHeight
, add this code...
function getDocHeight() {
var D = document;
return Math.max(
Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
The answer was obtained from: http://james.padolsey.com/javascript/get-document-height-cross-browser/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With