2016-05-04 8 views
2

javascriptでセレニウムで特定のクラス名の要素のリストを取得するにはどうすればよいですか?javascriptでセレンのクラス名を持つ要素のリストを取得

私はクラスmessage_bodyの要素を探しています。私はそのクラスを持つすべての要素を含む配列が必要です。

driver.findElements(By.className("message_body"))は機能しません。他のものを返すようです。

このリストはどのように入手できますか?ここで

+0

何を返すようですか?そしてあなたはどんな配列を探していますか? (あなたは 'driver.findElements(by.className(" message_body "))で指定した割り当てを表示できますか? – Tyler

+0

@タイラー私はよく分かりません。 – Riker

+0

あなたはどのバージョンのSeleniumを使用していますか? – Tyler

答えて

1

は、要素のリストからテキストを取得する例です。

driver.findElements(By.className("message_body")).then(function(elements){ 
    elements.forEach(function (element) { 
     element.getText().then(function(text){ 
      console.log(text); 
     }); 
    }); 
}); 
0

だから、私はセレン、v2.47.1の古いバージョンを使用して、しかしdriver.findElements(By.className("someClass"))がなかったとき、私は使用しています何か十分であった。driver.findElements(By.xpath("/path/to/[@class='someClass']"))。これによりList<WebElement>が返されます。私が正しく覚えていれば、By.xpathはいくつかのブラウザのいくつかの他のオプションより少し遅いですが、全体ではありません....

+0

これはjavascriptなので、 'List 'は返されませんが、これはうまくいくかもしれません – Riker

+0

申し訳ありませんが、 driver.findElementsは関数ではありません。 ' – Riker

+0

ああ!私はjavaのように誤読しました - これはJava関数です。 – Tyler

関連する問題