Как управлять DOM с Ruby on Rails

Вы можете добавить каталог, содержащий файлы классов, в проект Eclipse, только если он находится внутри одного из ваших проектов Eclipse, либо в сгенерированном каталоге, либо в том, который вы создали.

Это можно сделать, добавив папку классов в путь сборки Java приложения. Вы можете установить это в свойствах проекта, посетив Java Build Path -> Libraries -> Add Class Folder. Имейте в виду, что вам нужно будет указать корневую папку, содержащую файлы классов в их пакетах.

Поэтому, если вы хотите, чтобы доступ компилятора com.stackoverflow.Example.class присутствовал в каталоге классов в проекте A (но не в пути сборки проекта A), то вы должны добавить 'classes' в качестве класса папка, а не классы / com / stackoverflow как папка классов.

6
задан andrisetiawan 23 October 2009 в 04:25
поделиться

3 ответа

Если вы пытаетесь манипулировать HTML-документами внутри приложения rails, вам следует взглянуть на Nokogiri .

Он использует XPath для поиска по документ. Следуя приведенному ниже описанию, вы найдете внутри документа любой h1 с «синим» классом css.

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open('http://www.stackoverflow.com'))
doc.xpath('//h1/a[@class="blue"]').each do |link|
    puts link.content
end

После, если то, что вы пытались сделать, действительно было синтаксическим анализом dom текущей страницы, вам следует взглянуть на JavaScript и JQuery. Rails не может этого сделать.

9
ответ дан 9 December 2019 в 20:45
поделиться

Чтобы надежно определить, какого цвета произвольный элемент на веб-страница, вам потребуется перепроектировать браузер (чтобы точно учесть таблицы стилей, взломы разметки, битые теги, изображения и т. д.).

Намного проще было бы встроить существующий браузер, такой как gecko , в пользовательское приложение, созданное вами.

Когда ваш паук будет просматривать страницы, он будет передавать их вашему встроенному экземпляру gecko, где вы можете использовать getComputedStyle , чтобы узнать, какого цвета может быть отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам ознакомиться с RubyGnome и, в частности, с функциональностью RubyGnome Gtk :: MozEmbed .

взломы разметки, битые теги, изображения и т. д.).

Намного проще было бы встроить существующий браузер, такой как gecko , в пользовательское приложение, созданное вами.

По мере того, как ваш паук просматривает страницы, он передает их вашему встроенному экземпляру gecko, где вы можете использовать getComputedStyle , чтобы узнать, какой цвет имеет отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам изучить RubyGnome и, в частности, функциональность RubyGnome Gtk :: MozEmbed .

взломы разметки, битые теги, изображения и т. д.).

Намного проще было бы встроить существующий браузер, такой как gecko , в пользовательское приложение, созданное вами.

Когда ваш паук будет просматривать страницы, он будет передавать их вашему встроенному экземпляру gecko, где вы можете использовать getComputedStyle , чтобы узнать, какого цвета может быть отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам изучить RubyGnome и, в частности, функциональность RubyGnome Gtk :: MozEmbed .

Намного проще было бы встроить существующий браузер, такой как gecko , в пользовательское приложение, созданное вами.

Когда ваш паук будет просматривать страницы, он будет передавать их вашему встроенному экземпляру gecko, где вы можете использовать getComputedStyle , чтобы узнать, какого цвета может быть отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам изучить RubyGnome и, в частности, функциональность RubyGnome Gtk :: MozEmbed .

Намного проще было бы встроить существующий браузер, такой как gecko , в пользовательское приложение, созданное вами.

Когда ваш паук будет просматривать страницы, он будет передавать их вашему встроенному экземпляру gecko, где вы можете использовать getComputedStyle , чтобы узнать, какого цвета может быть отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам ознакомиться с RubyGnome и, в частности, с функциональностью RubyGnome Gtk :: MozEmbed .

он передал бы их вашему встроенному экземпляру gecko, где вы могли бы использовать getComputedStyle , чтобы узнать, какого цвета может быть отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам ознакомиться с RubyGnome и, в частности, с функциональностью RubyGnome Gtk :: MozEmbed .

он передаст их вашему встроенному экземпляру gecko, где вы можете использовать getComputedStyle , чтобы узнать, какого цвета может быть отдельный элемент.

Первоначально вы упомянули, что хотите использовать Ruby on Rails для этого проекта. Rails - это фреймворк для написания презентационных приложений, который действительно плохо подходит для такого проекта.

В качестве отправной точки я бы порекомендовал вам ознакомиться с RubyGnome и, в частности, с функциональностью RubyGnome Gtk :: MozEmbed .

s Gtk :: MozEmbed функциональность.

s Gtk :: MozEmbed функциональность.

1
ответ дан 9 December 2019 в 20:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: