selenium
  • xpath
  • selenium-webdriver
  • 2017-04-12 2 views 0 likes 
    0

    divタグ内に埋め込まれたテキストを取得しようとしています。部分的なHTMLコードを以下に示します。私は他の既存の答えを調べましたが、タグは正常に見つかりましたが、テキストは空の文字列として戻ってきています。私の目的は、「div」タグの文字列を「あなたが無効なユーザー名またはパスワードを入力しました。 "タグが指定されていてもdivタグ内のテキストを取得できません

    私はxpath

    //div[@class='login-card js-login-card']/div[@role='alert']/div[2] 
    

    を使用し、私はこれが唯一のdivが、空の文字列としてテキストとしてタグ名を取り戻すcss

    .alert__heading.js-alert--error-text 
    

    を使用。 アイデアや修正はありますか?

    <div class="login-card js-login-card"> 
        <div class="login-page__alert alert alert--error tt js-alert--error" role="alert"> 
        <div class="alert__icon"> 
         <div class="alert__heading js-alert--error-text">You entered an invalid username or password, please try again. </div> 
        </div> 
        <div id="cmePageWrapper" class="page-wrapper page-wrapper--card"> </div> 
    
    +2

    テキストを取得するために使用しているコマンドを表示してください。 –

    +0

    リスト \t we = wd.findElements(By.xpath( "XPath")); Then println( "message要素size、tag =" + we.size()+ "、" + we.get(0).getTagName()); 私は1とdivを返していますが、テキスト文字列はありません。 – PraNuta

    +0

    リスト \t we = wd.findElements(By.xpath( "XPath")); println( "message要素size、tag =" + we.size()+ "、" + we.get(0).getTagName());を使用します。 '1'と 'div'として値を戻していますが、テキスト文字列はありません。 これは、そのような 'div'要素だけがあることを意味しますが、その要素で囲まれたテキストを取得することはできません。 – PraNuta

    答えて

    0

    必要のdivタグとして、のXPathを、次の試してみてくださいクラスでdiv要素 'alert__icon' の子ノードである:それはあなたのために働く場合

    //div[@class='login-card js-login-card']/div[@role='alert']/div[1]/div 
    

    は、私を知ってみましょう。

    +0

    リスト \t we = wd.findElements(By.xpath( "XPath")); println( "message要素size、tag =" + we.size()+ "、" + we.get(0).getTagName());を使用します。 '1'と 'div'として値を戻していますが、テキスト文字列はありません。 これは、そのような 'div'要素だけがあることを意味しますが、その要素で囲まれたテキストを取得することはできません。 – PraNuta

    +0

    あなたは 'xpath'を'/div [@ class = 'login-card js-login-card']/div [@ role = 'alert']/div [1]/div'として使用しましたか? – Mahipal

    0

    たぶん、あなたはそれがこの

    $$("div[class*="error-text"]").text() OR .val()/.html() 
    

    幸運を使用してJavaScriptコードを実行することにより、テキストを取得しようと動作しなかった場合は、この

    div[class*="error-text"] 
    

    を試してみたいです!

    0

    // div [contains(@class、 'error-text')]のようなxp​​athを含むcontainsを使用すると、findelementを使用して条件に一致する最初の要素を取得します。まだ空を返している場合は、ページに条件に一致する複数の要素が含まれている可能性があります。

    +0

    リスト \t we = wd.findElements(By.xpath( "XPath"));次に、println( "message要素size、tag =" + we.size()+ "、" + we.get(0).getTagName())を使用します。 '1'と 'div'として値を戻していますが、テキスト文字列はありません。 これは、そのような 'div'要素のみが存在することを意味しますが、その要素で囲まれたテキストを取得することはできません。 – PraNuta

    +0

    、あなたは要素を使用していることを確認してください。テキストを正しく取得するgetText()?それは要素の内部テキストを出力します。 –

    関連する問題