원하는 것이 분명하지 않습니다.
require 'nokogiri'
doc = Nokogiri::HTML(<<EOT)
<div id="pagination">
<a href="link">2</a>
<a href="link">3</a>
<a href="link">4</a>
<a href="link">5</a>
<a href="link">6</a>
<a href="link">7</a>
<a href="link">8</a>
<a href="link">9</a>
<a href="link">10</a>
<a href="link">Next</a>
<a href="link">Last</a>
</div>
EOT
doc.search('a')[9]
=> #<Nokogiri::XML::Element:0x80763880 name="a" attributes=[#<Nokogiri::XML::Attr:0x80763498 name="href" value="link">] children=[#<Nokogiri::XML::Text:0x80762fd4 "Next">]>
또는 : 당신은 열 번째 링크를 원하는 경우
doc.at('//a[9]')
당신은 내가 ',있을거야하지만 텍스트를 키 입력하고 CSS를 사용하고자하는 요소 번호를 모르는 경우 do :
doc.search('a').select{ |n| n.content == 'Next' }.first
불행히도 CSS는 태그 텍스트를 검색 할 수 없으므로 약간 창의적으로 처리해야합니다. 규칙이 그 문자열 값 "Next"
인 a
이 div
의 마지막하지만 하나의 자식이라고하면
doc.at('//a[text()="Next"]')
당신이 jQuery를 사용할 수 없습니다 또는 CSS는 CSS를 사용하여 3 선택기 수 있습니다 나는 CSS를 사용하는 것이 불가능하다고 생각합니다. – freebird
Capybara가 CSS와 XPath를 지원하기 때문에 CSS 또는 XPath 여야합니다. –