7

ネストされた <div> があります。

<div id="international-map">
 <div id='a'>
    <a> link a1 </a>
    <a> link a2 </a>
    <a> link a3 </a>
  </div>
  <div id='b'>
       <a> link b1 </a>
       <a> link b2 </a>
  </div>
</div>

「international-map」の下にあるすべてのリンクを取得するにはどうすればよいですか?

私は2つのアプローチを試みましたが失敗しました:(

  1. div= @driver.find_element(:id => 'international-map')
  2. e=@driver.find_elements(:xpath => "//div[@id='international-map']//div[@tag_name='a']")

ありがとうございます ( C# と Java のコードも役に立ちます)

4

2 に答える 2

18

わかった!以下のように#cssまたはを使用することもできます。#xpath

@driver.find_elements(:css,"div#international-map a").map(&:text)
# => [" link a1 ", " link a2 ", " link a3 ", " link b1 ", " link b2 "]

また

@driver.find_elements(:xpath,"//div[@id = 'international-map']//a").map(&:text)
# => [" link a1 ", " link a2 ", " link a3 ", " link b1 ", " link b2 "]
于 2013-06-12T15:43:00.113 に答える
2

正しい XPath 式は次のとおりです。

//div[@id = 'international-map']//a/string()
于 2013-06-12T14:58:04.677 に答える