5

我有一个包含大约 50 个元素的 UITableView。在任何时候,只有其中 6 个在屏幕上可见。我想选择一个未添加到表格视图的单元格,或者说我需要从数据列表中选择第 25 项。

现在我正在使用此方法单击表格视图中的单元格

wait.until(ExpectedConditions.visibilityOf(driver.findElementByAccessibilityId(element))).click();

但它不起作用,因为第 25 个元素尚未添加到视图中。请注意,我正在代码中动态添加表格视图单元格的可访问性标识符。

我怎样才能使这项工作?

***** 添加了更多详细信息******

我有显示两个文本视图的表格视图单元格。货币短名称和货币长名称。

考虑这个例子

英镑

英镑

现在该表格视图单元格的可访问性标识符设置为 GBP。现在我试过了

driver.scrollTo("GBP") 和 driver.scrollTo("英国英镑")

两者都没有工作。我收到一条错误消息

A element could not be located on the page using the Search parameter

谢谢。

4

1 回答 1

1
    String ReqN = "Your required string"; 
    boolean flag = true;
    while (flag) {
        for (i=1;i<=6;i++) {
            String GetN = driver.findElement(By.xpath("//android.widget.HorizontalScrollView/android.widget.LinearLayout[" + i + "]")).getText();
            if (GetN.equals(ReqN)) {
                flag = false;
                System.out.println("Your result found");
            }
        }
        if (flag) {
            driver.swipe(145, 765, 145, 180, 3000);
        }
    }

String ReqN :: 您的预定义字符串

String GetN :: 为每个元素获取文本 [1 到 6,我们通过 for 循环获得]

因此,如果未找到您的预定义文本,它将获取前六个元素的文本和匹配,然后它从给定轴滑动 [这是第 6 个元素到第一个元素] ..所以您将获得新的六个元素和循环将再次执行。

参考。图像元素和 X、Y 点

于 2016-05-30T11:44:53.450 回答