而由于水平滚动而无法点击链接的自动化不起作用

时间:2013-04-24 12:55:22

标签: javascript selenium automation

我使用JavaScript自动化网页,但在自动化时,我无法点击隐藏在滚动后面的链接。我为水平滚动编写了代码,但它不起作用。那么你可以帮助我如何水平滚动,以便我可以点击链接

这是我的代码:

LinkPath = sampleUtility.getXpathEntity(driver,
              exlXpath.get("LNK_SAMPLE_DATASET").toString(), 
              DSetName, 
              exlXpath.get("LNK_DATASET_DELETE").toString());
Thread.sleep(min_wt);

WebElement box = driver.findElement(
                        By.xpath(exlXpath.get("LNK_SAMPLE_DATASET").toString()));
try{
  try{
    driver.findElement(By.xpath(LinkPath.toString())).click();
    ((JavascriptExecutor) driver).executeScript("arguments[0].scrollRight();", box);
  }catch(Exception e){
    ((JavascriptExecutor) driver).executeScript("arguments[0].scrollRight();", box);
  }
  driver.findElement(By.xpath(LinkPath.toString())).click();
}
catch(Exception e){}

2 个答案:

答案 0 :(得分:0)

XPath会查看xhtml标记,而不是UI,因此在网页上向左或向右滚动无法帮助selenium找到您的链接。你需要仔细检查你的xpath。 There's a tool for firefox that can build the entire command for you ..我建议使用它。

答案 1 :(得分:0)

尝试使用这个对我有用的Javascript比scrollRight()和scrollLeft()

更好
private void scrollToElement(WebElement element){
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
}

希望它有所帮助!