问题:Selenium > Web Drive:如何通过 xpath (ruby) 查找嵌套元素

我有一个嵌套的 <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 代码也有帮助)

解答

好的!您还可以使用#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 "]
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐