下面是代码:
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滚动网页