JavascriptExecutor 类型的 executeScript(String, Object[]) 方法不适用



下面是代码:

JavascriptExecutor jse = (JavascriptExecutor)driver;
WebElement blueray = driver.findElement(By.xpath("Xpath ID")]"));
jse.executeScript("scroll(0,250)", blueray);

下面是错误:

The method executeScript(String, Object[]) in the type JavascriptExecutor is not applicable for the arguments (String, WebElement)

我们不清楚您要滚动的确切内容,但是如果您尝试滚动窗口,请使用以下代码

jse.executeScript("window.scrollBy(0,250)");

如果你想在页面中查看蓝光网络元素,你需要使用以下代码

jse.executeScript("arguments[0].scrollIntoView()", blueRay);

如果这没有帮助,请使用您面临的确切问题更新您的问题并详细说明该问题,以便我们可以帮助您快速解决此问题,我的朋友:)

关于您的用例的更多详细信息将帮助我们构建一个规范的答案。

如果您的用例scroll()包含 DOM 文档的窗口,那么除了使用以下任一窗口方法之外,没有更好的方法了:

  • Window.scrollBy((

    ((JavascriptExecutor)driver).executeScript("scrollBy(0, 800);");
    
  • Window.scrollTo((

    ((JavascriptExecutor)driver).executeScript("scrollTo(0, 800);");
    

如果您的用例scroll()元素,那么除了使用元素方法之外,没有更好的方法了:

  • Element.scrollIntoView((

    JavascriptExecutor jse = (JavascriptExecutor)driver;
    WebElement blueray = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("Xpath ID")));
    jse.executeScript("arguments[0].scrollIntoView();", blueray);
    

您可以在scrollIntoView((方法实现中找到相关的详细讨论


参考

您可以在以下位置找到一些相关的讨论:

  • 不同的滚动选项有什么区别?
  • 如何在不使用javascript方法execute_script((的情况下在Python中使用Selenium Webdriver滚动网页

相关内容

  • 没有找到相关文章

最新更新