5

約 50 の要素を含む UITableView があります。どの時点でも、そのうちの 6 つだけが画面に表示されます。テーブル ビューに追加されていないセルを選択したい、またはデータ リストから 25 番目の項目を選択する必要があるとします。

今、私はテーブルビューでセルをクリックするためにこの方法を使用しています

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

しかし、25番目の要素がまだビューに追加されていないため、機能しません。テーブル ビュー セルのアクセシビリティ識別子をコード内で動的に追加していることに注意してください。

どうすればこれを機能させることができますか?

***** 詳細を追加しました *****

2 つのテキスト ビューを表示するテーブル ビュー セルがあります。通貨の短い名前と通貨の長い名前。

例を考えてみましょう

英ポンド

英国ポンド

これで、そのテーブルビュー セルのアクセシビリティ識別子が 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 :: 各要素のテキスト取得 [for ループで取得する 1 ~ 6]

したがって、事前定義されたテキストが見つからない場合は、テキストを取得して最初の 6 つの要素に一致し、指定された軸からスワイプします [6 番目の要素から 1 番目の要素] ..したがって、新しい 6 つの要素を取得し、ループが再度実行されます。

参考文献 画像要素と X、Y ポイント

于 2016-05-30T11:44:53.450 に答える