admin管理员组

文章数量:1356591

I have searched all the forums but I didn't get a correct answer for my issue. My web page to test has a link hidden below, and I am trying to find it manually by searching for it with xpath or the ID attribute of the element, but I am not able to find it when I am running the web driver script. Even when it is not giving any error on that element, I am getting an error on next mand/line.

I found below code from the forums, which is scrolling whole page. I don't want this, I want to scroll down vertically in a specific div area as in screen shot.

JavascriptExecutor jsx = (JavascriptExecutor)driver;
jsx.executeScript("ctl00_Menu1_scrollDiv.scrollBy(0,250)", "");

div id for this is "ctl00_Menu1_scrollDiv"
Element id: ctl00_Menu1_DlMenu_ctl09_LnkMenuname

Please help me on this issue. Thanks in advance.

Help will be appreciated.

I have searched all the forums but I didn't get a correct answer for my issue. My web page to test has a link hidden below, and I am trying to find it manually by searching for it with xpath or the ID attribute of the element, but I am not able to find it when I am running the web driver script. Even when it is not giving any error on that element, I am getting an error on next mand/line.

I found below code from the forums, which is scrolling whole page. I don't want this, I want to scroll down vertically in a specific div area as in screen shot.

JavascriptExecutor jsx = (JavascriptExecutor)driver;
jsx.executeScript("ctl00_Menu1_scrollDiv.scrollBy(0,250)", "");

div id for this is "ctl00_Menu1_scrollDiv"
Element id: ctl00_Menu1_DlMenu_ctl09_LnkMenuname

Please help me on this issue. Thanks in advance.

Help will be appreciated.

Share Improve this question edited Sep 5, 2013 at 15:06 James Dunn 8,29414 gold badges54 silver badges87 bronze badges asked Sep 5, 2013 at 12:02 Umamaheshwar ThotaUmamaheshwar Thota 5213 gold badges14 silver badges32 bronze badges 4
  • is keeping a frame inside the div an option ?? – Hussain Akhtar Wahid 'Ghouri' Commented Sep 5, 2013 at 12:05
  • Thanks for the reply. Inside div they have used a table. please find the attached new screen shot Code.jpg – Umamaheshwar Thota Commented Sep 5, 2013 at 12:15
  • how does the table creates a prob ?? keep the iframe inside div , and the table inside iframe – Hussain Akhtar Wahid 'Ghouri' Commented Sep 5, 2013 at 12:17
  • 1 Why in the world would you use an iframe? Bad advice there. – epascarello Commented Sep 5, 2013 at 12:30
Add a ment  | 

4 Answers 4

Reset to default 3

This is umendra tomar , I have found very simple solution for this, please use the below code for scroll a specific div in html using selenium .

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("document.getElementById('scrollCustom').scrollTop= 450");

scrollCustom =  this is the ID of your div which you want to scroll.
document.getElementById =  this is use in javascript to locate a webelement. 

Don't worry we can use this in java using javascriptExecutor

Check if this works for you.

var s = $('#ctl00_Menu1_scrollDiv').scrollTop(); 

This will give the current value of the scroll in the div.Use this only if you want to scroll inside a div to a certain point dynamically. Otherwise you can hardcode the scrollTop value inside animate()

Using the current value of your scroll you can parameterize the given below scrollTop parameter

$("#ctl00_Menu1_scrollDiv").animate({ scrollTop: "100px" }); // Here 100 px is just an example

I had used this to scroll a large div programmatically in my webdriver framework. Also, this will work if your AUT has jQuery loaded in the browser.

In Java:

JavascriptExecutor js;
js = (JavascriptExecutor) driver;
js.executeScript("$(\"#ctl00_Menu1_scrollDiv\").animate({ scrollTop: \"100px\" })");

First you should not just reference an element by the id. You should set scrollTop to scroll it to a position.

document.getElementById("ctl00_Menu1_scrollDiv").scrollTop(250);

Non-JQuery solution based on this post.

((JavascriptExecutor) driver).executeScript(
    "arguments[0].scrollTop=arguments[1].offsetTop",
    divWithScrollbarElement,
    elementToScrollTo);

where divWithScrollbarElement is the div element which you are looking to scroll, and elementToScrollTo is the child element which you want to make viewable (which in my case was actually the parent of the element which I was initially trying to view). If elementToScrollTo is not actually in the DOM yet, you may need to use the script once to scroll down as far as possible, and then again once more elements have loaded.

本文标签: javaHow do I scroll down vertically in a specific div in a web pageStack Overflow