0

Web ページにはリンクの表があり、要素のインデックスが必要です。リンクの名前は知っています。selenium.getElementIndex().intValue()整数インデックスを期待して、コマンドを試しました。
ただし、getElementIndex()関数にはパラメーターとして文字列ロケーターが必要です。私が持っているその要素に関する唯一の情報はその名前であるため、何を渡せばよいかわかりません。また、どのような値をgetElementIndex()返しますか?

4

2 に答える 2

2

このコードは、親に相対的な要素のインデックスを返します。同じタグを持つ兄弟のみがカウントされます

int getElementIndex(WebElement element) {
    WebElement parent = element.findElement(By.xpath(".."));
    List<WebElement> siblings = parent.findElements(By.xpath("./" + element.getTagName()));
    int i=0;
    for (WebElement sibling : siblings) {
        if (element.equals(sibling)) {
            return i;
        } else {
            i++;
        }
    }
    throw new NotFoundException(); // Should never happen
}
于 2015-07-08T09:50:56.157 に答える
1

javadoc は次のとおりですSelenium.getElementIndex()

Numberこれは、選択された要素のインデックスであるを返し、String locatorHTML ページで関心のある要素を見つけるために使用される を受け取ります。

  • 要素のID
  • いくつかのxPath

詳細はこちら。

于 2012-08-01T07:02:11.280 に答える