java - 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)
解决方案
有关您的用例的更多详细信息将有助于我们构建规范的答案。
如果您的用例是包含 DOM 文档scroll()
的窗口,那么除了使用以下任一窗口方法之外,没有更好的方法:
-
((JavascriptExecutor)driver).executeScript("scrollBy(0, 800);");
-
((JavascriptExecutor)driver).executeScript("scrollTo(0, 800);");
如果您的用例是scroll()
一个元素,那么没有比使用元素方法更好的方法了:
-
JavascriptExecutor jse = (JavascriptExecutor)driver; WebElement blueray = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("Xpath ID"))); jse.executeScript("arguments[0].scrollIntoView();", blueray);
您可以在scrollIntoView() 方法实现中找到相关的详细讨论
参考
您可以在以下位置找到一些相关的讨论:
推荐阅读
- php - 如何在 php post 表单中制作单独的电话号码?
- sql - 如何加入与原始无关的其他值
- python - 为什么代码中显示的 else 在这种情况下不起作用?
- c++ - 如何在 C++ 中覆盖 BlueprintNativeEvent 函数?
- python - 消除字符识别算法中冗余边界框的有效方法
- r - 在 R 中使用 ggmap 进行地理编码 API 并仅在 2 个请求后超过 API 限制
- javascript - 单选按钮和功能
- java - 处理数组的 Java 程序,专门查找大于限制的值
- python - 具有默认值的python函数的参数被缓存为列表而不是其他类型
- swift4 - 在 draw() 循环中重新使用 currentDrawable.texture 时的 MTKView 混合问题