Selenium webdriver 不要向下滚动

Selenium webdriver 不要向下滚动,selenium-webdriver,selenium-chromedriver,Selenium Webdriver,Selenium Chromedriver,我在硒方面有个问题。 我想向下滚动页面,并创建了以下方法: public static void scrollDownToEndOfPage() { By locator; locator = By.xpath("//label[contains(text(),'Blocked advertisers')]//ancestor::nz-form-item//nz-select//input"); WebDriver driver2 = We

我在硒方面有个问题。 我想向下滚动页面,并创建了以下方法:

public static void scrollDownToEndOfPage()
    {
        By locator;
        locator = By.xpath("//label[contains(text(),'Blocked advertisers')]//ancestor::nz-form-item//nz-select//input");
        WebDriver driver2 = WebDriverMgr.getDriver();
        JavascriptExecutor js = (JavascriptExecutor) driver2;
        js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
        ((JavascriptExecutor)driver2).executeScript("window.scrollTo(0, document.body.scrollHeight)");
        js.executeScript("window.scrollBy(0,250)");
        js.executeScript("arguments[0].scrollIntoView();", locator);
    }
当我调试什么都没发生时,这是日志

Wed Dec 18 18:35:14 IST 2019:INFO: WebDriver: Script - window.scrollTo(0, document.body.scrollHeight)
Wed Dec 18 18:35:14 IST 2019:INFO: WebDriver: Script - window.scrollTo(0, document.body.scrollHeight)
Wed Dec 18 18:35:14 IST 2019:INFO: WebDriver: Script - window.scrollBy(0,250)
Wed Dec 18 18:35:14 IST 2019:ERROR: Argument is of an illegal type: org.openqa.selenium.By$ByXPath
Wed Dec 18 18:35:14 IST 2019:INFO: WebDriver: Script - arguments[0].scrollIntoView();


java.lang.IllegalArgumentException: Argument is of an illegal type: org.openqa.selenium.By$ByXPath

    at org.openqa.selenium.remote.internal.WebElementToJsonConverter.apply(WebElementToJsonConverter.java:83)
    at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
    at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
这是我运行卷轴后的屏幕

该页面是从屏幕侧面打开的绘图,我想向下滚动,有人可以建议吗

这个解决方案按照苏拉吉的建议起了作用

 public static void scrollToElement(By locator)
    {

      //  locator = By.xpath("//label[contains(text(),'Blocked advertisers')]//ancestor::nz-form-item//nz-select//input");
        WebDriver driver2 = WebDriverMgr.getDriver();
        WebElement element = driver2.findElement(locator);
        JavascriptExecutor js = (JavascriptExecutor) driver2;
       // js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
      //  ((JavascriptExecutor)driver2).executeScript("window.scrollTo(0, document.body.scrollHeight)");
      //  js.executeScript("window.scrollBy(0,250)");
        js.executeScript("arguments[0].scrollIntoView();", element);
    }

尝试使用javascript scrollIntoView,并在不可见区域中传递要与之交互的元素:

JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement element = driver.findElement(locator);
js.executeScript("arguments[0].scrollIntoView();", element);

我按照你说的做了,我在定位器中放入了字段xpath,我没有看到和得到Wed Dec 18 18:19:39 IST 2019:错误:参数属于非法类型:org.openqa.selenium.By$ByXPath Wed Dec 18:19:39 IST 2019:INFO:WebDriver:Script-arguments[0]。scrollIntoView();我用定位器试过了;locator=By.xpath(//label[contains(text(),'Blocked')]//祖先::nz表单项//nz select//input”);js.executeScript(“参数[0].scrollIntoView();”,定位器)@Bastian,例外情况是Xpath有问题。请在问题中添加html作为代码,但出现此错误。我只想要打开的侧窗体向下滚动。我设法填写了表单,但是我在表单的按钮中有一些字段,无法访问它们。您必须传入找到的WebElement,而不是定位器。