selenium webdriver - cookie(一)

使用cookie,我们可以不用输入账户名和密码,直接登陆系统

cookie的使用方法:

1         driver.manage().addCookie(new Cookie("name", "value"));

addCookie是添加一条cookie信息,这里是添加一个cookie对象,对象包括cookie的键值对;

 

我们打开www.baidu.com,并登陆百度首页,使用firebug查看页面的cookie信息,如下

其中BAIDUID和BDUSS这两条是登陆所对应的cookie信息,我们就需要两条就够了。

1 //添加登陆cookie(cookie对应的值已经被我省略)
2         driver.manage().addCookie(new Cookie("BAIDUID", "327……:FG=1"));
3         driver.manage().addCookie(new Cookie("BDUSS", "k0MzM……JTT1"));

还有个问题,就是添加cookie信息在必须是在载入页面(driver.get("http://www.baidu.com/"))后使用,添加完cookie后,需要刷新一下页面:

1 //刷新页面
2         dr.navigate().refresh();

完整代码@撞树桐:

 1 import org.openqa.selenium.Cookie;
 2 import org.openqa.selenium.WebDriver;
 3 import org.openqa.selenium.firefox.FirefoxDriver;
 4 
 5 public class BdCookie {
 6 
 7     public static void main(String[] args) throws InterruptedException {
 8         WebDriver dr = new FirefoxDriver();
 9         dr.get("http://www.baidu.com/");
10         
11         //添加登陆cookie
12         dr.manage().addCookie(new Cookie("BAIDUID", "327……=1"));
13         dr.manage().addCookie(new Cookie("BDUSS", "k0MzMzMG1JbS……wJTT1"));
14         
15         //刷新页面
16         dr.navigate().refresh();
17         
18         Thread.sleep(5000);
19         dr.close();
20     }
21 }

简单的整理一下代码:

 1 import java.util.HashSet;
 2 import java.util.Set;
 3 
 4 import org.openqa.selenium.Cookie;
 5 import org.openqa.selenium.WebDriver;
 6 import org.openqa.selenium.firefox.FirefoxDriver;
 7 
 8 public class BdCookie2 {
 9 
10     public static void main(String[] args) throws InterruptedException {
11         WebDriver driver = new FirefoxDriver();
12         driver.get("http://www.baidu.com/");
13         
14         Set<Cookie> cookies = new HashSet<Cookie>();
15         cookies.add(new Cookie("BAIDUID", "32……=1"));
16         cookies.add(new Cookie("BDUSS", "k0Mz……TT1"));
17         
18         //添加cookie
19         addCookies(driver, cookies);
20         
21         //刷新页面
22         driver.navigate().refresh();
23         
24         Thread.sleep(5000);
25         driver.close();
26     }
27     
28     public static void addCookies(WebDriver driver,Set<Cookie> cookies){
29         if(cookies == null) return;
30         for (Cookie cookie : cookies) {
31             driver.manage().addCookie(cookie);
32         }
33     }
34 }

 

 

 

 

转载于:https://www.cnblogs.com/xiaot87/p/3554145.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值