Selenium水平滚动:点击右箭头不工作

时间:2017-07-10 08:40:09

标签: java selenium scrollbar

我有一个水平滚动条,我需要能够点击下一个箭头/右箭头。我还有一个垂直滚动条,我可以使用以下代码单击向下箭头:

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(); 

0 个答案:

没有答案