0

当我无法从 webdriver 中删除 FF cookie 时。当我使用该.delete_all_cookies方法时,它返回None. 当我尝试时get_cookies,我收到以下错误:

webdriver_common.exceptions.ErrorInResponseException:处理时出错
数据包:内容长度:120
{“elementId”:“null”,“context”:“{9b44672f-d547-43a8-a01e-a504e617cfc1}”,“参数”:[],“commandName”:“getCookie”}
回复:长度:266
{"commandName":"getCookie","isError":true,"response":{"lineNumber":576,"message":"组件返回失败代码:0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.host]","name" :"NS_ERROR_FAILURE"},"elementId":"null","context":"{9b44672f-d547-43a8-a01e-a504e617cfc1}"}

我该如何解决?

更新:

这发生在没有修改的干净安装 webdriver 的情况下。我在另一篇文章中提到的更改是在发布这篇文章之后进行的(我试图自己解决这个问题)。

4

1 回答 1

0

嗯,我实际上没有使用过 Webdriver,所以这可能根本没有帮助......但在你的另一篇文章中,你提到你正在尝试修改删除 cookie webdriver js 函数。在您修改删除功能之前,get_cookies 是否失败?当您在删除 cookie 之前获取它们时会发生什么?我猜您对 webdriver-read-only\firefox\src\extension\components\firefoxDriver.js 中的删除功能所做的修改可能会破坏删除功能。你这样做只是为了调试还是你真的希望浏览器本身在驱动程序告诉它删除 cookie 时显示一个弹出窗口?如果此修改失败,我不会感到惊讶。

不过,我真正的建议实际上是开始使用 Selenium 而不是 Webdriver,因为它在当前版本中已停止使用,或者演变为 Selenium。Selenium 开发得更加积极,并且具有非常活跃和响应迅速的形式。在合并发生时它将继续开发和稳定,而我认为 Webdriver 可能没有那么多的错误修复。我已经成功使用了控制 cookie 的 Selenium 命令。他们似乎正在修改他们的文档,并且由于某种原因没有任何指向 Python API 的链接,但是如果你下载 selenium rc,你可以在 selenium-client-driver-python 中找到 Python API 文档,你会在那里看到是控制 cookie 的 5 种左右有用的方法,如果您愿意,可以在您自己的自定义 Python 方法中使用它们,例如,删除名称与某个正则表达式匹配的所有 cookie。如果由于某种原因您确实希望浏览器也警告()有关已删除 cookie 的一些信息,您可以通过从 python 方法获取 cookie 名称/值,然后将它们传递给 selenium 的 getEval() 语句来执行此操作你喂它的任意js(比如“alert()”)。...如果您确实走硒路线,请随时与我联系,如果您有阻滞剂,我也许可以提供帮助。

于 2009-11-28T23:45:00.963 回答