我有一个水平滚动条,我需要能够点击下一个箭头/右箭头。我还有一个垂直滚动条,我可以使用以下代码单击向下箭头:
Point item =driver.findElement(By.className("z-biglistbox-wscroll-down")).getLocation();
((JavascriptExecutor)driver).executeScript("window.scrollBy("+(item.getY())+",0);");
actions.moveToElement(down).click().build().perform();
我想知道是否可以使用相同的代码单击右箭头。我尝试了这个,但它不起作用:
Point item =driver.findElement(By.className("z-biglistbox-wscroll-down")).getLocation();
((JavascriptExecutor)driver).executeScript("window.scrollBy("+ (item.getX()) +",0);");
actions.moveToElement(down).click().build().perform();
知道为什么这不起作用吗?
*Click here to see what the scroll bar looks like
这是水平滚动条的html:
<div class="z-biglistbox-wscroll-drag" style="left: 0px;">
<div class="z-biglistbox-wscroll-home" title="Home"></div>
<div class="z-biglistbox-wscroll-up" title="Previous"></div>
<div class="z-biglistbox-wscroll-down" title="Next"></div>
<div class="z-biglistbox-wscroll-end" title="End"></div>
</div>
更新: 我使用下面的代码解决了这个问题。好像我刚刚得到了错误的坐标组合。无论如何,希望这有助于将来。
Point item =driver.findElement(By.xpath(rightkey)).getLocation();
((JavascriptExecutor)driver).executeScript("window.scrollBy(0,"+(item.getY())+");");
actions.moveToElement(right).click().build().perform();