2013-09-05 34 views
1

我已经搜索了所有论坛,但我没有为我的问题得到正确的答案。我测试的网页有一个隐藏在下面的链接,我试图通过xpath或元素的ID属性搜索它来手动找到它,但是当我运行网络驱动程序脚本时,我无法找到它。即使它没有在该元素上发生任何错误,我也会在下一个命令/行上发生错误。如何在网页中的特定div中垂直滚动

我在论坛上找到了下面的代码,它滚动整个页面。我不想要这个,我想在屏幕截图中在特定的div区域垂直滚动。

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

enter image description here

enter image description here

enter image description here

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

请帮我在这个问题上。提前致谢。

帮助将不胜感激。

+0

是保持DIV的选项里面的框架在Java中使用? –

+0

感谢您的回复。在div里面他们用了一张桌子。请找到附加的新屏幕截图Code.jpg –

+0

表如何创建一个概率?将iframe保留在div内,iframe中的表格 –

回答

2

检查是否适用于您。

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

这将给在div.Use滚动的电流值,这只是如果你想要一个动态DIV中滚动到某一点。否则,你可以硬编码里面动画()

的scrollTop的值使用您的滚动的当前值可以参数如下scrollTop的参数给定的

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

我用了这个在我的webdriver编程滚动大格框架。另外,如果你的AUT已经在浏览器中加载了jQuery,这将工作。

在Java:

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

您可以请给出Java代码。 –

+1

你是否要求原生webdriver代码(在java中)执行滚动?我担心这是不可能的。你将必须使用JavascriptExecutor。 –

+0

@UmamaheshwarThota请考虑接受答案,如果他们有任何帮助。 –

0

首先你不应该仅仅通过id引用一个元素。您应该设置scrollTop将其滚动到某个位置。

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

感谢您的回复,但是您可以给我java代码,如何使用这个上面的语句。 –

0

基于this post非JQuery的解决方案。

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

其中divWithScrollbarElement是你正在寻找滚动div元素,并elementToScrollTo是你想观看(这在我的情况下,实际上我最初想的元素的父级的子元素视图)。如果elementToScrollTo实际上不在DOM中,那么您可能需要使用一次脚本尽可能向下滚动,然后再次加载一次元素。

1

这是umendra tomar,我已经找到了非常简单的解决方案,请使用下面的代码在html中使用硒滚动特定的div。

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. 

不要担心,我们可以使用javascriptExecutor