<p>要在WebDriver中使用任何cookie处理方法,我们首先需要导入cookie类。为此,我们使用:</p>
<pre><code>import org.openqa.selenium.Cookie;
</code></pre>
<h2>检索所有cookie</h2>
<pre class="lang-none prettyprint-override"><code>// This method gets all the cookies
public Set<Cookie> getAllCookies() {
return driver.manage().getCookies();
}
</code></pre>
<h2>检索命名的cookie</h2>
<pre class="lang-none prettyprint-override"><code>// This method gets a specified cookie
public Cookie getCookieNamed(String name) {
return driver.manage().getCookieNamed(name);
}
</code></pre>
<h2>检索cookie的值</h2>
<pre class="lang-none prettyprint-override"><code>// This method gets the value of a specified cookie
public String getValueOfCookieNamed(String name) {
return driver.manage().getCookieNamed(name).getValue();
}
</code></pre>
<h2>添加一块饼干</h2>
<pre class="lang-none prettyprint-override"><code>// This method adds or creates a cookie
public void addCookie(String name, String value, String domain, String path, Date expiry) {
driver.manage().addCookie(
new Cookie(name, value, domain, path, expiry));
}
</code></pre>
<h2>添加一组cookie</h2>
<pre class="lang-none prettyprint-override"><code>// This method adds set of cookies for a domain
public void addCookiesToBrowser(Set<Cookie> cookies, String domain) {
for (Cookie c : cookies) {
if (c != null) {
if (c.getDomain().contains(domain)){
driver.manage().addCookie(
new Cookie(name, value, domain, path, expiry));
}
}
}
driver.navigate().refresh();
}
</code></pre>
<p>部分答案取自<a href="https://devqa.io/selenium-create-update-delete-cookies/" rel="nofollow noreferrer">here</a></p>