Как управлять загрузкой страницы в браузере? - PullRequest
0 голосов
/ 20 сентября 2010

Я хочу управлять веб-страницей, загруженной в веб-браузер. Может ли XUL быть полезным для выполнения этого требования?

1 Ответ

1 голос
/ 20 сентября 2010

Все, что позволяет вводить события DOM или теги сценария, может использоваться для управления веб-страницей.XUL - это язык для описания графических интерфейсов, который для этого бесполезен.

Вот несколько примеров того, как вы можете контролировать веб-страницу.Вы не предоставили никаких сведений о том, что вы собираетесь делать с указанным элементом управления (расширение браузера, фоновые сценарии и т. Д.), Поэтому я приведу примеры для всех случаев, о которых я могу подумать:

Если выхотите удаленно управлять веб-страницами как частью скрипта независимо от вашего обычного браузера , вот ваши варианты:

  • Если вам не нужно запускатьJavascript сайта , используйте псевдо-браузер, такой как Mechanize, для Perl , Python или Ruby или, возможно, Twill , если вы 'повторение сценариев оболочки.Они легче, чем то, что фактически выполняет Javascript, но они по-прежнему будут обрабатывать cookie-файлы и позволят вам заполнять формы и щелкать ссылки программно.
  • Если вам действительно нужно запустить javascript сайтасамое простое решение - написать скрипт Python, который использует PyQt с QWebView, но на самом деле не должен показывать никаких окон.QtWebKit предоставляет интерфейс, вдохновленный jQuery, для работы в DOM сайта и возможность внедрять Javascript, и это все, что вам нужно для удаленного управления веб-страницей.(QtWebKit требует , что графический интерфейс должен быть запущен в Linux, но вам не нужно показывать какие-либо окна для его использования.) Необходимые API QtWebKit также должны присутствовать в привязках Qt для любого другого языкавы можете предпочесть.
  • Если вы не можете использовать QtWebKit, но вам нужен Javascript (возможно, вы пишете приложение GTK +), ваши параметры гораздо более ограничены, но любой виджет браузера там есть.должен хотя бы поддерживать добавление новых тегов <script> для управления страницей. Этот ответ (также мой) содержит список веб-виджетов для различных наборов инструментов Python, и большинство (вероятно, все) доступны также и для других языков.Вы также захотите прочитать инструкции по написанию пользовательских скриптов.

Если вы хотите создать скрипт веб-страницы в вашем существующем браузере (возможно, чтобы скрыть рекламу или пропустить скрытые экраны на страницахВы часто посещаете), вот ваши варианты:

  • Если вы хотите изменить сам браузер , напишите расширение для браузера.Вероятно, поэтому вы спрашивали о XUL.То, о чем вы действительно должны спросить, это Javascript (части расширений Firefox и Chrome, которые на самом деле делают вещи, написаны на Javascript. XUL предназначен только для размещения окон в Firefox.) ... в частности, то, что Chrome называет Сценарии содержимого.Firefox слишком сложен для меня, чтобы я мог усвоить эквивалентную терминологию.) Это ваш самый мощный вариант, но он также наиболее сложный, и ваше расширение будет работать только с одним браузером.
  • ЕслиВы просто хотите изменить или контролировать сайт , напишите userscript .Пользовательские скрипты - это биты Javascript, которые браузер вставляет на страницы по вашему выбору.В той или иной форме они поддерживаются Firefox с Greasemonkey , Chrome , Opera , различными менее известными браузерами и с IE7ProРасширение , Internet Explorer 7 и 8. Они не могут изменять интерфейс браузера, но, помимо этого, они довольно мощные.( пример )
...