这是我正在使用的:
我有一个页面,需要向下滚动到特定元素,我具有该元素的Xpath,但我终生无法解决该问题。
[当前,如果该元素完全不在页面上,驱动程序将向下滚动以完全查看该元素,但是,如果该元素只是部分不在页面上,它将不会单击,并且当尝试单击该元素时,它将单击Safari选项栏位于浏览器底部。我需要找到解决方法。
我在Appium网站的this页面上发现了自己的移动设备:滚动选项。我可以使用方向滚动,但这不够精确,因为我需要多次进行此操作并确保它可以用于将来。
我看过使用JavaScriptExecutor并选择使用该元素进行滚动的选项,页面上显示“元素:要滚动的内部元素标识符(作为十六进制哈希字符串)。如果未设置此参数,将使用Application元素”我看过的教程说,在Java中,您可以使用它来获取元素“(((RemoteWebElement)element).getId());”的内部ID。但是,这不起作用。下面是Java示例,因此您可以了解我的意思:
WebElement element = driver.findElementByName("text");
JavascriptExecutor js = (JavascriptExecutor) driver;
HashMap scrollObjects = new HashMap();
scrollObjects.put("element", ((RemoteWebElement) element).getId());
scrollObjects.put("direction", "down");
driver.executeScript("mobile: scroll", scrollObjects );
这是我在C#中无法获得的“元素”变量。使用C#,有人建议使用反射,但是我还没有弄清楚如何做。所以我有2个问题
谢谢你。