2017-09-04 9 views
-1

だから私はtdクラスのテキストを取りたいと思います。セレンでtdクラスのテキストを取得

htmlページ

<table class="table table-striped"> 
    <tbody> 
     <tr> 
      <td class="text-center"> 
       <img .....> 
      </td> 
      <td>text</td> 
      <td>text</td> 
      <td class="text-center"> 
       <a ....></a> 
      </td> 
      <td class="text-center"> 
       TEXT I WANT TO TAKE HERE 
      </td> 
      <td class="text-center"> 
       <a ....><i class="fa fa-times"></i></a> 
      </td> 
     </tr> 
    </tbody> 
</table> 

私が撮りたいテキストは、 "私はここに撮りたいTEXT" です。

私が言ってエラーを得た私は以下のようにXPathを使用してみましたが、それは

table = browser.find_element_by_xpath(("//div[@class='table table-striped']/tbody/tr/td[5]")); 

仕事didntは:私はセレクタに複数のクラスを持っていると私は使用する必要があるため

no such element: Unable to locate element: {"method":"xpath","selector":"//div[@class='table table-striped']/tbody/tr/td[5]"} 

がそれですドット? (私は試みました: 'table.table-striped'でもまだ仕事はしませんでした)

+1

それは 'テーブル= browser.find_element_by_xpathすべきではない(( "//テーブル[@クラス= 'テーブルテーブルストライプ'] /のtbody/TR/TD [5]"));'? –

+0

あなたは '// td [@ class = 'text-center']'を試してみることができますか? – NarendraR

+0

本当に私はそこにdivを持っていたのですが、答えとして投稿したいのですか? –

答えて

1

xpathが正しくありません。 tableタグがありますが、divタグを探しています。したがって、divtableに置き換えてください。

table = browser.find_element_by_xpath(("//table[@class='table table-striped']/tbody/tr/td[5]")); 
1

XPath式ではdivタグを探していますが、HTMLにはありません。テキストに

browser.find_element_by_xpath("//td[@class='text-center']").text 

を取得し、より良い例えば、あなたの行を見つけることにもインデックスを使用するのxpath以下

table = browser.find_element_by_xpath(("//table[@class='table table-striped']/tbody/tr/td[5]")); 
+1

本当にそれは間違いでしたが、私は@MDのために数分待つでしょう。Khairul Basarが最初に気づいてから、答えを投稿しなかった場合は、私はあなたのことを受け入れるでしょう –

2

用途:おそらく、あなたは、テーブルタグに探しています

browser.find_element_by_xpath("//td[@class='text-center'][3]").text 
+0

はい..私の悪い..私はコメントの直後に気づいたので、そのコメントを削除しました。 –

+1

@MD。 Khairul Basar、問題ではありません:) – NarendraR

1

回答更新TEXT I WANT TO TAKE HERE

//table//tr/td[contains(text(), 'TEXT I WANT TO TAKE HERE')] 

テキスト取得するxpath以下用途:あなたのwebelementを取得するために言及したのxpath以下これらのいずれかを参照することができます。

//td[5] 

OR

//table[@class='table table-striped']//td[5] 

OR

//table[@class='table table-striped']/..//following-sibling::td[5] 

OR

//td[@class='text-center'][3] 
+0

私はhaventですが、私が望むテキストは動的なので、私は手にそれが何を含んでいるか知っていませんが、ありがとう –

+0

これは動的な答えです。 tdにこのテキストが含まれている場合Web要素が検索されます。 xpathの終了後に索引付けを使用することもできます。同じxpathに対して複数の一致がある場合 –

+0

ええ、何か言っているのは、このテキストが入っていないということです。テーブルの代わりに小さいタイプのdivを作成しても、それはすべてありがとう、もう一度ありがとうございます。 –

関連する問題