Как удалить файлы cookie Firefox с веб-драйвера в python? - PullRequest
0 голосов
/ 28 ноября 2009

, когда я не могу удалить файлы cookie FF с веб-драйвера. Когда я использую метод .delete_all_cookies, он возвращает None. И когда я пытаюсь get_cookies, я получаю следующую ошибку:

webdriver_common.exceptions.ErrorInResponseException: Error occurred when processing
packet:Content-Length: 120
{"elementId": "null", "context": "{9b44672f-d547-43a8-a01e-a504e617cfc1}", "parameters": [], "commandName": "getCookie"}
response:Length: 266
{"commandName":"getCookie","isError":true,"response":{"lineNumber":576,"message":"Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.host]","name":"NS_ERROR_FAILURE"},"elementId":"null","context":"{9b44672f-d547-43a8-a01e-a504e617cfc1} "}

Как я могу это исправить?

Обновление:

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

1 Ответ

0 голосов
/ 29 ноября 2009

Хм, я на самом деле не работал с Webdriver, так что это может быть совершенно бесполезно ... но в вашем другом посте вы упоминаете, что экспериментируете с изменением функции js для удаления cookie webdriver. Ошибка get_cookies до того, как вы изменили функцию удаления? Что происходит, когда вы получаете куки перед их удалением? Я полагаю, что изменение, которое вы вносите в функцию удаления в webdriver-only-read-only \ firefox \ src \ extension \ components \ firefoxDriver.js, может нарушить функцию удаления. Вы делаете это только для отладки или вы действительно хотите, чтобы сам браузер отображал всплывающее окно, когда драйвер говорит ему удалить куки? Меня не удивит, если эта модификация сломается.

Мой реальный совет, хотя бы на самом деле - начать использовать Selenium вместо Webdriver, так как он прекращается в текущем воплощении или превращается в Selenium. Селен более активно развивается и имеет довольно активные и отзывчивые формы. Он будет продолжать развиваться и быть стабильным, пока происходит слияние, хотя, я полагаю, Webdriver может иметь не так много исправлений ошибок в будущем. Я успешно использовал команды Selenium, которые контролируют куки. Кажется, что они обновляют свою документацию, и по какой-то причине нет никакой ссылки на API Python, но если вы загрузите selenium rc, вы можете найти документацию по Python API в selenium-client-driver-python, вы увидите там это 5 или около того полезных методов для управления куки, которые вы используете в своих собственных пользовательских методах Python, если вы хотите, скажем, удалить все куки с именем, соответствующим определенному регулярному выражению. Если по какой-то причине вы хотите, чтобы браузер тоже предупреждал () некоторую информацию об удаленных cookie-файлах, вы можете сделать это, получив имена / значения cookie-файлов из метода python, а затем передав их в инструкцию selenium getEval (), которая выполнит произвольный JS вы кормите его (например, «alert ()»). ... Если ты пойдешь по маршруту селена, не стесняйся связаться со мной, если получишь блокиратор, я могу помочь.

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