首页 > 解决方案 > JavascriptExecutor 类型中的方法 executeScript(String, Object[]) 不适用于 Selenium 的参数 (String, WebElement) 错误

问题描述

下面是代码:

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)

标签: javaseleniumjs-scrollintoviewjs-scrollbyjs-scrollto

解决方案


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

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

如果您的用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() 方法实现中找到相关的详细讨论


参考

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


推荐阅读