当我无法从webdriver删除FF cookie时。当我使用 .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} "}

我该如何解决?

<强>更新

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

有帮助吗?

解决方案

嗯,我实际上还没有使用过Webdriver,所以这可能根本没有帮助......但是在你的另一篇文章中你提到你正在尝试修改delete cookie webdriver js函数。在修改删除功能之前,get_cookies是否失败?在删除cookie之前获得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种左右有用的方法,如果你想删除名称与某个正则表达式匹配的所有cookie,你可以在自己的自定义Python方法中使用这些方法。如果由于某种原因你确实希望浏览器警告()一些关于已删除的cookie的信息,你可以通过从python方法获取cookie名称/值,然后将它们传递给selenium的getEval()语句来执行此操作,该语句将执行你喂它的任意js(比如“alert()”)。 ...如果你去硒路线,如果你得到阻滞剂,请随时与我联系,我也许可以提供协助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top