2011-11-08 2 views
1

이미지가 가득한 웹 사이트와 상호 작용하고 각 이미지를 클릭하여 상호 작용하려고합니다. 각 이미지는 상대 URL을 가지고 있습니다 (예 :/image/1000 /, image/1023/등). 내가 추측 한 숫자는 image_id이며 연속 된 순서가 아니라 무작위로 표시됩니다.일치하는 페이지에서 링크 찾기 HREF 패턴

이 내가 레일 콘솔에서했던 것입니다 :

agent = Mechanize.new 
agent.get('http://www.website.com') 
agent.page.links_with(:href => '/image') 

마지막 줄이 아무것도 반환하지 않았지만

agent.page.link_with(:href => '/image/1000/') 

그것은 예상대로 링크를 반환 내가 시도

.

나는 href 매개 변수에 문제가 있음을 확신하지만 '/ image'가되어서는 안된다. 하지만 '/ 이미지 /', '/ 이미지/*'등의 다른 조합을 시도했지만 여전히 아무것도 반환하지 않습니다.

모든 조언을 이해하십시오.

답변

1

주 : 검증되지 않은

보십시오 : agent.page.links_with(:href => /\/image\/(\d{1,})/). links_with 설명서는 사용되는 정규식을 보여 주므로 잘 작동한다고 가정합니다. 또한 $1image_id을 반환합니다.

\ d를 {1}`\ d 개 +`(하지만 못 생겼어)`과 동일 주`것을

http://mechanize.rubyforge.org/Mechanize/Page.html#method-i-links_with-28criteria-29

+1

, 나는 당신이 '돈 있도록 리터럴'%의 r' 정규식을 사용하는 것이 좋습니다 수 있습니다, 또한) ': href => % r {^/image/(\ d +)}' – Phrogz

+0

두 작품 모두! 고마워. –