我在获取页面链接列表并将其保存为数组时遇到问题,因此我可以找到页面中使用的链接
<ul class="test">
<li class="social_1"></li>
<a href="link1"></a>
<li class="social_2"></li>
<a href="link2"></a>
<li class="social_3"></li>
<a href="link3"></a>
<li class="social_4"></li>
<a href="link4"></a>
</ul>
我尝试使用
list_items = page.all('li').collect(&:href)
puts list_items;
但它没有给出正确答案。
我有这个错误
undefined method `href' for #<Capybara::Element tag="li"> (NoMethodError)
答案 0 :(得分:3)
有两个问题:
[]
方法。根据您的偏好,以下任何一项都可以使用:
page.all('li').map { |li| li.find('a')['href'] }
page.all('li a').map { |a| a['href'] }
page.all('a').map { |a| a['href'] }