2012-06-07 2 views
1

У меня возникли проблемы с механизировать камень, как преобразовать Mechanize :: Файл в Mechanize :: Страница,возможно преобразовать Mechanize :: Файл в Mechanize :: Страница

вот мой кусок кода:

**link** = page.link_with(:href => %r{/en/users}).click 

, когда пользователи нажимали ссылку он переходит на страницу со списком пользователей, теперь я хочу, чтобы нажать первый пользователь, но я не могу этого добиться, потому что ссылка возврата Mechanize :: Файл объект

Любая помощь, предложения «d здорово, спасибо

+0

есть кто-нибудь, кто знает, как обращаться с такими ситуациями? –

ответ

0

Mechanize использует Content-Type, чтобы определить, как следует обращаться ресурс. Иногда веб-сайты не устанавливают типы mime для своих ресурсов. Mechanize::File по умолчанию используется для отмены содержимого.

Если дело только с 'text/html' вы можете следующие Jimm Стаут suggestion использования post_connect_hooks

agent = Mechanize.new do |a| 
    a.post_connect_hooks << ->(_,_,response,_) do 
    if response.content_type.empty? 
     response.content_type = 'text/html' 
    end 
    end 
end 
0

Просто разобрать тело nokogiri:

link = page.link_with(:href => %r{/en/users}).click 
doc = Nokogiri::HTML link.body 
agent.get doc.at('a')[:href] 
Смежные вопросы