1

弁護士を検索し、彼女のプロフィールにアクセスしてからログアウトする演習を行っています。ブラウザーのキャッシュや Cookie をクリアしたいので、スクリプトを連続して実行すると、最初から開始するように動作します。

うまくいかないようです。Cookie を削除できるようにスクリプトを変更する方法についてアドバイスをください。

Selenium IDE のログ セクションに次のエラー メッセージが表示されました。

[エラー] 要素 id=edit-name が見つかりません

  1. たとえば、Cookie _utma の場合、expires の値が 2015 年 7 月 10 日午後 9 時 24 分から 2015 年 7 月 11 日午後 9 時 24 分に変更されました。これは、Cookie が正常に削除されたことを意味するのか、それとも実行によって値が変更されたことを意味するのかわかりませんスクリプトの。
  2. SeleniumのdeleCookieコマンドの正しい構文は何ですか?私が使用した構文は次のとおりです

削除クッキー >"path=/",domain=".jlaustin.tcheetah.com","recurse=true"

または deleteCookie >"path=/,domain=.jlaustin.tcheetah.com,recurse=true"

  1. ドメインとホストの違いを知りたい My Firefox ブラウザーから、Cookie セクションを表示すると、Cookieエージェントと Cookie *_utma*の値が表示されます。

    スクリプトのテーブル ビュースクリーンショット 1スクリーンショット 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>
4

1 に答える 1

0

次のような Selenium IDE 内で JavaScript 関数を起動できます。

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

したがって、特定の Cookie のみを消去するような関数を使用して、JS 関数 do del a Cookie を起動できます。

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

必要に応じてこれをカスタマイズします。

正確に何を削除するかを制御したいので、del Cookie の組み込み関数を使用したことはありません。

于 2014-06-10T18:52:21.273 に答える