Python Selenium:删除Cookie时出现问题

Python Selenium:删除Cookie时出现问题,python,cookies,selenium,selenium-rc,selenium-webdriver,Python,Cookies,Selenium,Selenium Rc,Selenium Webdriver,我们将selenium 2.4与python客户端一起使用,并在Firefox上运行脚本。 执行“删除所有可见的cookies”操作时,我们会遇到异常: 错误:命令执行失败。请从日志窗口中搜索位于的用户组以获取错误详细信息。错误消息是:格式错误的URI序列 我们意识到,当我们有来自第三方的cookie(因此我们无法更改)导致问题时,就会发生这种情况。我们已经找到了解决这个问题的方法,但还没有解决 同时为了克服这个问题,我们在执行delete_all_visible_cookie之前使用delet

我们将selenium 2.4与python客户端一起使用,并在Firefox上运行脚本。
执行“删除所有可见的cookies”操作时,我们会遇到异常:

错误:命令执行失败。请从日志窗口中搜索位于的用户组以获取错误详细信息。错误消息是:格式错误的URI序列

我们意识到,当我们有来自第三方的cookie(因此我们无法更改)导致问题时,就会发生这种情况。我们已经找到了解决这个问题的方法,但还没有解决

同时为了克服这个问题,我们在执行delete_all_visible_cookie之前使用delete_cookie分别删除了有问题的cookie。然而,在Selenium 2中,我们也会在delete_cookie中遇到这个错误

我们认为这可能是因为cookie的值(类似于:WSS_GW=V1z%X%X^^^@C@),所以我们尝试覆盖它并在删除cookie之前将其设置为0。然后我们得到了错误:

错误:无法删除cookie WSS_GW

我在网上找到的关于此错误消息的唯一解释是: 但是我们还有其他的饼干,名字里有uu,一切都很好


你知道什么是问题,或者我们如何克服它吗?

好的,我们在这里发现了两个问题:

  • cookie值有问题,因此我们得到了“格式错误的URI序列”错误。为了解决这个问题,在删除cookie之前,我使用create_cookie()将cookie值设置为0

  • 有两个cookie具有相同的名称和值,但具有不同的域:一个具有“domain.com”,另一个具有“a.domain.com”(脚本已打开)。我猜Selenium看到了这两个cookie,在删除其中一个之后,它仍然看到了一个同名的cookie,因此我们得到了“无法删除cookie”错误。为了解决这个问题,(在我更改了所有这些cookie的值之后),我使用delete_cookie()删除了域“domain.com”中的cookie,但没有递归参数,因此当我调用delete_all_visible_cookies()时,只有一个具有此名称的cookie

  • 总而言之,我所做的是:

    for domain in ['.domain.com','a.domain.com','b.domain.com']:
            sel.create_cookie("%s=0"%problematic_cookie,"path=/, domain=%s"%domain)
    sel.delete_cookie(problematic_cookie,"path=/, domain=.domain.com") # without recurse
    sel.delete_all_visible_cookies()
    

    从何处导入此函数和模块?从selenium import delete_all_visible_Cookie或
    将selenium作为sel导入时总是遇到问题
    。delete_all_visible_Cookie
    如何从何处导入?我在python 2.7中使用的是最新版本的selenium,这里没有代码,但据我所知,sel是selenium类的一个对象(此代码段没有使用selenium 2)。至少在selenium 2中,cookie API是webdriver的一部分。因此,每个驱动程序的API可能不同。例如,PhantomJS驱动程序没有
    delete\u all\u visible\u cookies