Selenium IDE如何删除会话Cookies?

时间:2013-07-12 03:33:04

标签: session-cookies browser-cache selenium-ide

我正在练习搜索律师,然后访问她的个人资料,然后退出。   我想清除浏览器缓存或cookie,所以当我以连续模式运行脚本时,它会像从头开始一样。

它似乎不起作用。请给我一些关于如何修改我的脚本的建议,以便删除cookie。

Selenium IDE日志部分中显示错误消息:

[错误]元素ID =未找到编辑名称

  1. 例如,对于cookie _utma,expires的值从2015年7月7日下午9:24到7/11/2015 9:24 pm更改,我不确定这是否意味着cookie被成功删除或值更改由于执行了脚本。
  2. Selenium中deleCookie命令的正确语法是什么 以下是我使用的语法
  3. deleteCookie> "path=/",domain=".jlaustin.tcheetah.com","recurse=true"

    或deleteCookie> "path=/,domain=.jlaustin.tcheetah.com,recurse=true"

    1. 我想知道域和主机之间有什么区别 在我的Firefox浏览器中,视图cookie部分显示cookie 代理和cookie * _utma *

      的值

      table view of the scriptscreenshot1 screenshot2

    2. 以下是Selenium IDE(版本1.10.0)生成的脚本

      <table cellpadding="1" cellspacing="1" border="1">
      <thead>
      <tr><td rowspan="1" colspan="3">search_solicitor</td></tr>
      </thead><tbody>
      <tr>
          <td>setSpeed</td>
          <td>5000</td>
          <td></td>
      </tr>
      <tr>
          <td>deleteCookie</td>
          <td>agent</td>
          <td>&quot;path=/&quot;, domain=&quot;.jlaustin.tcheetah.com,&quot; recurse=true&quot;</td>
      </tr>
      <tr>
          <td>deleteCookie</td>
          <td>user</td>
          <td>&quot;path=/&quot;,domain=&quot;.jlaustin.tcheetah.com&quot;,&quot;recurse=true&quot;</td>
      </tr>
      <tr>
          <td>deleteCookie</td>
          <td>uweopenid</td>
          <td>&quot;path=/&quot;,domain=&quot;.jlaustin.tcheetah.com&quot;,&quot;recurse=true&quot;</td>
      </tr>
      <tr>
          <td>deleteCookie</td>
          <td>_utma</td>
          <td>&quot;path=/&quot;,domain=&quot;.jlaustin.tcheetah.com&quot;,&quot;recurse=true&quot;</td>
      </tr>
      <tr>
          <td>deleteAllVisibleCookies</td>
          <td></td>
          <td></td>
      </tr>
      <tr>
          <td>open</td>
          <td>/?html=openid&amp;logout=1</td>
          <td></td>
      </tr>
      <tr>
          <td>pause</td>
          <td>6000</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>css=input[type=&quot;submit&quot;]</td>
          <td></td>
      </tr>
      <tr>
          <td>pause</td>
          <td>5000</td>
          <td></td>
      </tr>
      <tr>
          <td>type</td>
          <td>id=edit-name</td>
          <td></td>
      </tr>
      <tr>
          <td>type</td>
          <td>id=edit-pass</td>
          <td></td>
      </tr>
      <tr>
          <td>click</td>
          <td>name=autologin</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>id=edit-submit</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>id=cmp_admin</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>link=Donor</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>link=manage solicitors</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>link=Baldwin, Donna</td>
          <td></td>
      </tr>
      <tr>
          <td>clickAndWait</td>
          <td>css=span.systemsmallbold &gt; a</td>
          <td></td>
      </tr>
      <tr>
          <td>deleteAllVisibleCookies</td>
          <td></td>
          <td></td>
      </tr>
      </tbody></table>
      

1 个答案:

答案 0 :(得分:0)

您可以在selenium IDE中启动javascript函数,例如:

<tr>
    <td>storeEval</td>
    <td>(function() {return "HeLLO";})</td>
    <td>returnedVal</td>
</tr>

因此,您可以使用类似的函数启动JS函数do del a cookie Clearing only specific cookies

function deleteCookie(c_name) {
    document.cookie = encodeURIComponent(c_name) + "=deleted; expires=" + new Date(0).toUTCString();
}

并根据您的需要进行自定义。

我从来没有对del cookies使用buildin函数,因为我想控制我删除的内容。