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



我正在尝试自动化Instagram网站,当我点击关注者链接时,它会打开一个对话框,供用户关注。当我试图滚动那个对话框时,它滚动的是主页,而不是关注者对话框。如何做到这一点?

我试过使用代码

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

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

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

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

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

最新更新