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>

如何获取“国际地图”下的所有链接?

我尝试了两种方法并失败了:(

  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

好的!您也可以使用#cssor#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 回答