6

次の内容の html ページがあります。

    <center> 
          This is Login page. 
          <br> 
          Please click below link to Login.
          <br> 
          <a href="xxx">Login</a> 
    </center>

1 つの webdriver コマンドを使用して、上記のすべての静的テキストを確認するにはどうすればよいですか?

これらを試しましたが、どれも機能しません:(

driver.findElement(By.xpath("//*[contains(.,'This is Login page.<br>Please click below link to Login')]"))
driver.findElement(By.xpath("//*[contains(.,'This is Login page.\nPlease click below link to Login')]"))

誰でもそれを行う方法を知っていますか?

4

4 に答える 4

6

できるよ:

webDriver.findElement(By.id("<ID of center tag>")).getText().contains("This is Login page.Please click below link to Login.Login");

By.id の代わりに任意のロケーターを自由に使用してください。

基本的に、任意の WebElement の getText() は、すべての HTML タグとコメントを取り除いたノードのテキスト コンテンツを返します。

于 2012-05-22T08:50:03.260 に答える
1

これは、Selenium よりも XPath の制限です。

そこでグローバル XPath セレクターを使用している理由がわかりません。より良い XPath セレクターは次のようになります。

By.XPath("//center");

それがページの唯一の「中央」タグである場合、またはさらに:

By.XPath("//center[contains(text(), 'これはログイン ページです'")

/r および /n 文字は、XPath でやみくもに検索するのではなく、コードを介して実行すると保持されます。

于 2012-05-22T09:02:11.773 に答える