15

特定の Web ページに移動すると、特定の要素とテキストを見つけようとしています。

<span class="Bold Orange Large">0</span>

これは機能しませんでした: (複合クラス名のエラーが発生しました...)

elem = browser.find_elements_by_class_name("Bold Orange Large")

だから私はこれを試しました:(しかし、セレンでcssセレクターを行う正しい方法を本当に理解していないため、うまくいったかどうかはわかりません...)

elem = browser.find_elements_by_css_selector("span[class='Bold Orange Large']")

span 要素を見つけたら、(コンテンツ)内にある番号を見つけたいと思います。

num = elem.(what to put here??)

CSS セレクター、クラス名、および要素テキストの検索に関するヘルプは素晴らしいでしょう!

ありがとう。

おー!私の他の問題は、これらの正確なスパン要素が複数あるが、内部に異なる番号があることです。どうすれば対処できますか?

4

2 に答える 2

36

あなたが望む:elem.text「中にある数」を取得します。

説明:

あなたの例でelemは、webdriverのWebElementクラスのインスタンスです(selenium.webdriver.remote.webelementから)

WebElement インスタンスには、次のようないくつかのプロパティがあります。

  • tag_name
  • text
  • size
  • location
  • parent
  • id

.textプロパティには「コンテンツ」が含まれています


「そして私のもう1つの問題は、これらの正確なスパン要素が複数あることです..どうすれば対処できますか?」

一度に複数の質問をしないでください。SO の形式ではうまく機能しません。

ただし、基本的には のfind_elements_*代わりに を使用しfind_element_*ます。WebElementその後、ロケーターは、一致する単一のインスタンスではなく、一致するインスタンスのリストを返すことができます...これをさらにフィルタリングできます。

于 2012-08-18T15:56:54.517 に答える