我使用以下代码向下滚动
WebElement elementToScroll = driver.findElement(By.id("id"));
scrollDown(elementToScroll, "Max Notifications Per Instance", driver);
((JavascriptExecutor ) driver).executeScript ("mobile: scroll", :direction => 'down');
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap<String, String> scrollObject = new HashMap<String, String>();
scrollObject.put("direction", "down");
scrollObject.put("element", ((RemoteWebElement) elementToScroll).getId());
scrollObject.put("text", elementToScroll.getText());
js.executeScript("mobile: scroll", scrollObject);
在设置中我已将WebDriver driver
更改为driver = new RemoteWebDriver();
,因为要将我的脚本与酱实验室联系起来
一切正常但当我尝试滚动它的给出错误时
处理命令时发生未知的服务器端错误。 (警告:服务器未提供任何堆栈跟踪信息)(..)
如果我在这里做错了,请告诉我。
答案 0 :(得分:2)
WebElement element = driver.findElement(By.id("my-id"));
Actions actions = new Actions(driver);
actions.moveToElement(element);
// actions.click();
actions.perform();
答案 1 :(得分:2)
我在使用Appium编写自动化测试时遇到了未知的服务器端错误,这通常是由于页面上的元素 - 如日期选择器或自动完成菜单 - 妨碍了您尝试的元素点击。
确保您的滚动对象可见,并且没有任何重叠。您总是可以使用fluent wait为任何其他元素提供时间来完成他们正在做的事情并让他们离开。
答案 2 :(得分:0)
我使用相同的代码滚动更改元素&#39; elementToScroll&#39;。我使用了可滚动值为&#39; true&#39;
的元素