我必须检查水平滚动条是否可滚动。我尝试通过检查是否显示来显示元素是否在水平滚动后出现
Javascript scrollIntoView
,但如何确保滚动条正常工作。
因为滚动条位置没有改变scrollIntoView
,所以仅滚动元素并按照屏幕上显示的进行操作。但是滚动条不能滚动。
答案 0 :(得分:0)
尝试以下选项以水平滚动:
declaration
答案 1 :(得分:0)
这个想法很简单-首先,尝试将滚动条移动到任一侧,然后检查滚动条是否已真正移动。
//scrol 1px to the left
$(document).scrollLeft(1);
if($(document).scrollLeft() != 0){
//there's a scroll bar
}else{
//there's no scrollbar
}
//scroll back to original location
$(document).scrollLeft(0);
让我们将其转换为Java方法并在脚本中使用它。
/**
*
* @param js reference to JavascriptExecutor
* @param element is a string of locator (i.e. #scroll > span etc.)
* @return true if scrollbar is scrollable
*/
boolean testScrollBar(JavascriptExecutor js, String element){
String jq = String.format("return $('%s').scrollLeft()", element);
String jq1 = String.format("$('%s').scrollLeft(1)", element);
String jq2 = String.format("$('%s').scrollLeft(0)", element);
System.err.println("Test1: "+js.executeScript(jq));
js.executeScript(jq1);
Long currentPos = (Long)js.executeScript(jq);
System.err.println("Test2: " + currentPos);
js.executeScript(jq2);
return currentPos != 0;
}
希望对您有帮助。