如何使用seleniumjava自动滚动对话框

ix0qys7i  于 2021-07-03  发布在  Java
关注(0)|答案(2)|浏览(400)

我正在尝试将instagram网站自动化,当我点击followers链接时,它会打开一个对话框,用户可以关注。当我尝试滚动该对话框时,它滚动的是主页,而不是followers对话框。如何做到这一点?
我试过密码

WebElement element = driver.findElement(By.cssSelector("div.pbNvD.fPMEg.HYpXt"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,1000)",element);
toiithl6

toiithl61#

您也可以尝试使用以下代码向下滚动模态对话框:

// Wait for modal
WebDriverWait(driver, 5).until(ExpectedConditions.visibilityOfElementLocated(By.id("document-content")));
// Select last child of content div
WebElement element = driver.findElement(By.xpath("//div[@id='document-content']/*[last()]")); 
// Scroll to last child node
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element);
uplii1fm

uplii1fm2#

尝试通过以下两种方式向上滚动:

WebElement element = driver.findElement(By.cssSelector("div.pbNvD.fPMEg.HYpXt"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].scrollTop(100)",element);

js.executeScript("$('div.pbNvD.fPMEg.HYpXt').scrollTop(100)");

相关问题