Дополнение Firefox - возможно ли захватить текст / html с веб-страницы? - PullRequest
0 голосов
/ 07 января 2012

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

Например,

  1. Скажите, что пользователь включенАмазонка и добавляет несколько товаров в корзину.
  2. Они нажимают кнопку «Оформить заказ», заполняют свои данные и нажимают «Отправить заказ».
  3. Когда заказ обрабатывается, появляется текст «Заказ выполнен»и получил квитанцию ​​об их покупке.

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

Возможно ли это с помощью аддона Firefox?

Ответы [ 2 ]

2 голосов
/ 07 января 2012

Исходя из моего опыта пользователя Firefox, это определенно возможно. На самом деле есть надстройки, которые делают гораздо больше.

Например, Greasemonkey может фактически выступать в качестве фильтра и изменять содержимое просматриваемой веб-страницы, как указано в сценарии пользователя. Zotero и AlertBox способны выборочно просматривать определенные элементы HTML на предмет интересной информации и действовать в соответствии с ней.

Также вполне возможно, что существует существующее дополнение, которое либо делает то, что вам нужно, либо может использоваться в качестве основы для собственного настраиваемого дополнения - то, что вы запрашиваете, это еще не все необычный ...

0 голосов
/ 10 января 2012

Возможно, вы захотите создать свое дополнение с помощью Add-on SDK .Затем вы можете использовать пакет page-mod , чтобы прикрепить скрипт контента к страницам Amazon.Сценарий содержимого должен проверить, загружен ли он на страницу подтверждения заказа, и отправить HTML-код этой страницы (вероятно, document.body.innerHTML) обратно в расширение.

Затем расширение должно записать данные вфайл.Для этого вам нужно использовать внутренний API , что-то вроде этого:

var file = require("file");
var writer = file.open("c:\\foo\\bar.html", "w");
writer.writeAsync(data);

Если вы хотите, чтобы пользователь выбрал имя файла, вы можете сделать это, используя Chrome Authority и nsIFilePicker компонент .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...