我使用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){}
答案 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);
}
希望它有所帮助!