2016-02-05 8 views
-1

в моем сценарии я соскабливаю сайт, содержимое которого создается javascript. Я знаю, что watir идеально подходит для моей ситуации, но, как мы все знаем, он, как правило, добавляет немного накладных расходов и делает программу занятой немного дольше.Ruby Watir из html вместо URL

В настоящее время я могу войти в систему с помощью Nokogiri и отправить запрос на отправку с именем пользователя/паролем, так как вы можете себе представить, что это действительно быстро. После успешного входа в систему я перейду к адресу, где находится контент, который я хочу очистить, и, как я уже сказал, такой контент является результатом обработки javascript, поэтому Nokogiri не годится с этого момента.

Что я хочу сделать, это использовать Watir для загрузки html, уже возвращенного Nokogiri, чтобы он анализировал весь javascript, а затем продолжал очищать сгенерированный HTML без необходимости использовать Watir с самого начала, чтобы сократить время обработки.

Есть ли способ загрузить контент в Watir из html String, чтобы он обрабатывался вместо вызова метода 'goto'?

+1

Пожалуйста, прочтите «[ask]», особенно ссылки внизу. Что нашли ваши исследования? Если вы ничего не нашли, покажите нам, где вы искали, и объясните, почему это не помогло. В противном случае, что вы пробовали? Как ваш вопрос слишком широк, и вы просите нас начать с нуля и написать учебник, потому что мы не знаем, что вы пробовали или не пробовали. –

+1

Nokogiri не отправляет почтовые запросы, вы говорите об механизации? Вероятно, ваш подход не будет работать из-за проблем с XXS. Возможно, вам стоит подумать о загрузке куки механизаторов в watir. – pguardiario

+0

@ The Tin Man может быть, если вы посвятили свое время чтению вопросов вместо того, чтобы критиковать, вы заметите, что вопрос не является широким: «есть ли способ загрузить контент в watir из HTML-строки, вместо этого он обрабатывается вместо этого вызова метода goto? ». Поскольку есть другие ответы в соответствии с вопросами, кажется, вопрос ясен. – unknown

ответ

0

Прямой ответ на ваш вопрос - нет. Watir не предназначен для очистки веб-страниц, а для проверки веб-страниц. Тестирование веб-страниц означает навигацию к ним и взаимодействие с ними.

Кроме того, если ваш анализатор html не решит вашу проблему, копирование текста с этого анализатора в Watir также не решит вашу проблему.

+0

Спасибо. Если я печатаю вывод HTML из Watir, то код сгенерированный JavaScript присутствует, поэтому, если я разбираю вывод watir, моя проблема решена. – unknown

+1

Да, но вам все равно нужно что-то с движком javascript, чтобы * визуализировать текст, что означает браузером, что означает веб-сайт, локальный или удаленный, например, предлагаемый boulder_ruby. – titusfortner

0

Вы всегда можете попробовать.

require 'open-uri' 
require 'nokogiri' 
require 'watir' 
#previous stuff 
`touch temp.html` 
File.open("temp.html", "w") {|f| f.write(nokodoc.html)} 
b = Watir::Browser.new 
b.goto("file://#{Dir.pwd}/temp.html") 
+0

Спасибо, но это наводнение чтения из строки: не нужно сохранять и читать файл – unknown

 Смежные вопросы

  • Нет связанных вопросов^_^