如何在iOS版Safari上使用Appium和C#将元素滚动到视图中?

问题描述 投票:0回答:1

这是我正在使用的:

  • C#
  • iOS
  • Safari

我有一个页面,需要向下滚动到特定元素,我具有该元素的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个问题

  1. 是否使用JavaScriptExecutor进行滚动,并且此功能是使用C#iOS和Safari滚动至特定元素的最佳方法?如果可以,怎么办?
  2. 有人可以推荐其他方法吗?

谢谢你。

c# ios selenium scroll safari
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.