0

css 要素のテキストにアクセスするためにセレンを使用しようとしています。

WebElement test = driver.findElement(By.cssSelector("div.CLFSBTextWithLink"));
System.out.println(test.getText());

これは私が今行っていることですが、出力は空です。

たとえば、「Company」という Web サイトにリンクまたはテキストがあり、Selenium を使用して要素がどこにあるかを確認すると、ターゲットは css=div.CLFSBTextWithLink であると表示されます。今、私はどういうわけか「会社」という値を取得できるようにしたいと考えています。

4

1 に答える 1

2

に移動してhttp://viewer.opencalais.com/「Bob Bob という名前の男性がいた」などと入力して送信を押すと、エンティティの person の下に Bob Bob という名前が表示されます。基本的に「ボブ・ボブ」という名前を取得しようとしています。


getText()ドキュメントから:

この要素の表示可能な (つまり、CSS によって非表示にされていない) innerText を取得します。

ただし、テキストは最初は非表示になっています。まず、Person 要素を展開して表示する必要があります。この特定の「Bob Bob」のケースでは、次を使用できます。

driver.findElement(By.id("toggleVisibilityImage1")).click();

ただし、正しいエキスパンダーをクリックしていることを常に確認してください。より一般的にするために、これは "Person" カテゴリの横にあるエキスパンダーを選択します:

//input[@class='collapseExpandIcon' and (../text()='Person')]

と説明:

SELECT AN <input> ELEMENT
//input[                                                    ]
        THAT IS AN EXPANDER
        @class='collapseExpandIcon'
                                    AND ITS PARENT NODE HAS TEXT "Person"
                                    and (../text()='Person')
于 2013-06-21T15:38:16.250 に答える