1

基本的に、仕組みは理解していますが、まとめることはできません。だから私はcssSelectorすべてのソートされた要素を持っています。

私はそれらの要素の正確な量を知っています (12)。私はfindElements()それらをすべて見つけるために使用し、リストを返します。しかしList、何の?- int, String?

Selector数字の価格につながりますが、そのリストをどこでどのように使用すればよいかわかりませんか? 要素がソートされていることを確認するためにサイクルに入れるにはどうすればよいですか?

私は使用しますが、ヒント\ガイドSelenideを提供していただければ、それを行う方法は問題ありません。 Selenium

ありがとう!

4

3 に答える 3

1

list見つかった価格が正しいか、sortedまたは以下のように使用されていないことを確認したい場合:-

Guavasortingは、そのクラスで検証するためにこの機能を提供しますOrdering:-

list値を含むページからの価格が既にあると仮定すると、 Guavaライブラリを使用して、このリストが以下のように 1 行だけである[1,2,3,4,5,6,7,8]かどうかを確認できます:-sorted

boolean isSorted = Ordering.natural().isOrdered(list);
System.out.println(isSorted);

または

以下のように独自の方法で確認することもできますgeneric:-

private static <T extends Comparable<? super T>> boolean isSorted(List<T> list){
    for (int i = 0; i < list.size()-1; i++) {
        if(list.get(i).compareTo(list.get(i+1))> 0){
            return false;
        }
    }
    return true;
}


boolean isSorted = isSorted(list);
System.out.println(isSorted);

:-印刷されている場合は、それ以外の場合は正常であることをtrue意味しますlistsortednot

それがあなたを助けることを願っています... :)

于 2016-07-01T12:49:01.210 に答える
1

(これはセレンにあります)

findElements()のリストを提供しますWebElements。これらのそれぞれに対してアクションを実行できます。

それらを並べ替えたいので、取得している要素には何らかのテキストが含まれていると想定しています。これがあるとしましょうHTML

<span>3</span>
<span>7</span>
<span>6</span>
<span>4</span>
<span>8</span>

findElements()これらすべてのスパンを返すことができます。したがって、List5 を含むものを取得しWebElementsます。WebElementsこれらのテキストは で取得できますgetText()。例:

List<Integer> values = new ArrayList<Integer>();
List<WebElement> elements = driver.findElements(By.cssSelector('span'));
    for (WebElement element : elements) {
        values.add(Integer.parseInt(element.getText());
    }

これで、値のリストができました。これを行う方法はたくさんあるので、並べ替えはあなたに任せます。

于 2016-07-01T12:17:18.607 に答える