Очистка сессии в Firefox для каждого сделанного запроса (проблема Watir) - PullRequest
2 голосов
/ 21 января 2011

Я разрабатываю робот для очистки экрана, который использует Watir (ruby) для сканирования определенных веб-поисков. Watir используется, поскольку результаты поиска доставляются на страницах, доступных только через запросы AJAX.

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

Можно ли как-то заставить Firefox очищать сессии при каждом запросе?

Кроме того, есть ли у кого-нибудь опыт решения подобных проблем с помощью Watir?

Спасибо!

Ответы [ 3 ]

1 голос
/ 24 января 2011

Можно ли как-то заставить Firefox очищать сессии при каждом запросе?

Я предполагаю, что вы имеете в виду, что браузер запускается с запроса?

1006 * Есть два хороших способа избежать проблемы печений: 1008 * (1) Использование "режим порно":
  • В панели поискавведите about: config
  • Введите browser.privatebrowsing.autostart в поле фильтра.
  • Дважды щелкните указанное выше значение и установите значение True.
  • В следующий раз вы откроете свойFirefox будет в приватном режиме!

Также имеется флаг командной строки "-private".

(2) Если вы хотите запустить большечем один параллельный экземпляр (мы запускаем 50+!) использовать различные профили Firefox , как описано здесь:

Мы используем 1 + 2 вместе, и это хорошо работает.

Кроме того, есть ли у кого-нибудь опыт решения подобных проблем через Watir

Извините,нет.Все, что я могу сказать, это то, что мы используем iMacros для Firefox и никогда не сталкивались с такой проблемой «GET» в Firefox.

0 голосов
/ 03 июля 2012

Если вы хотите использовать Watir, вы можете связываться с профилями, как описано в http://watirwebdriver.com/. Большинство браузеров, похоже, получают свой профиль для каждого нового экземпляра по умолчанию.

0 голосов
/ 21 января 2011

Если сеанс поддерживается с помощью файлов cookie в браузере Firefox, то это возможно.

Все, что вам нужно, это удалить куки из вашего репозитория Firefox, прежде чем он запустится. Firefox хранит свои куки в (как в моем Ubuntu и Mac)

~/.mozilla/firefox/12wwonrk.default/cookies.sqlite  [in ubuntu]

или

~/Library/Application Support/Firefox/Profiles/eox4ghka.default/cookies.sqlite  [in mac]

(до Firefox 3 это были cookies.txt вместо sqlite)

Если вы можете обрезать sqlite (или txt), то куки больше не будут там.

Поскольку вы работаете с Watir, вы, скорее всего, используете ruby. Так что, если вы можете выполнить эти команды через system или% x [] (или совместимые команды через sqlite gem / lib) перед оператором Watir :: Browser.new, надеюсь, все будет сделано.

./sqlite3 path/to/cookies.sqlite
DELETE FROM moz_cookies;
.quit
...