`

selenium webdriver学习(九)------------如何操作cookies

 
阅读更多

Web 测试中我们经常会接触到Cookies,一个Cookies主要属性有”所在域、name、value、有效日期和路径",下面来讲一下怎么操作Cookies。

import java.util.Set;

import org.openqa.selenium.Cookie;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class CookiesStudy {

	/**
	 * @author  gongjf
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.setProperty("webdriver.firefox.bin","D:\\Program Files\\Mozilla Firefox\\firefox.exe");  
		WebDriver dr = new FirefoxDriver();
		dr.get("http://www.51.com");
		
		//增加一个name = "name",value="value"的cookie
		Cookie cookie = new Cookie("name", "value");
		dr.manage().addCookie(cookie);
		
		//得到当前页面下所有的cookies,并且输出它们的所在域、name、value、有效日期和路径
		Set<Cookie> cookies = dr.manage().getCookies();
		System.out.println(String.format("Domain -> name -> value -> expiry -> path"));
		for(Cookie c : cookies)
			System.out.println(String.format("%s -> %s -> %s -> %s -> %s",
					c.getDomain(), c.getName(), c.getValue(),c.getExpiry(),c.getPath()));
		
		
		//删除cookie有三种方法
		
		//第一种通过cookie的name
		dr.manage().deleteCookieNamed("CookieName");
		//第二种通过Cookie对象 
		dr.manage().deleteCookie(cookie);
		//第三种全部删除
		dr.manage().deleteAllCookies();
	}

 

上面的代码首先在页面中增加了一个cookie,然后遍历页面的所有cookies,并输出他们的主要属性。最后就是三种删除cookie的方法。遍历cookies输出的结果:

Domain -> name -> value -> expiry -> path
.51.com -> FO_RFLP -> %7CaHR0cDovL3d3dy41MS5jb20v%7C%7C%7C -> null -> /
.51.com -> __utmz -> 67913429.1331544776.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) -> Tue Sep 11 05:32:56 CST 2012 -> /
www.51.com -> name -> value -> Tue Mar 12 17:33:00 CST 2030 -> /
www.51.com -> PHPSESSID -> 51d37fc72eb0ea66e4ef1971b688698b -> null -> /
.51.com -> __utma -> 67913429.453585250.1331544776.1331544776.1331544776.1 -> Wed Mar 12 17:32:56 CST 2014 -> /
www.51.com -> www_cookie_adv -> 1 -> Mon Mar 12 18:32:55 CST 2012 -> /
.51.com -> __utmc -> 67913429 -> null -> /
www.51.com -> NSC_xxx -> 44595a553660 -> null -> /
.51.com -> __utmb -> 67913429.1.10.1331544776 -> Mon Mar 12 18:02:56 CST 2012 -> /
www.51.com -> www_jiaoyou_guide -> 0c83c0b5f569512d5a832bf0b4397a05 -> null -> /
 

 

2
0
分享到:
评论
2 楼 qi_ling2005 2012-07-16  
shine22fmf 写道
输入到eclipse里面运行了一遍,少了以后一行,不知道啥原因

输出少了一行,没关系。可能你没有那个cookie
1 楼 shine22fmf 2012-07-13  
输入到eclipse里面运行了一遍,少了以后一行,不知道啥原因

相关推荐

    selenium webdriver 学习

    1.9 selenium webdriver学习(九)------------如何操作cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.10 selenium webdriver学习(十)------------如何把一个元素拖放到另一个元素里面...

    Selenium WebDriver Practical Guide 最新 原版

    Explore the advanced features of WebDriver such as handling cookies, taking screenshotsmanaging timeouts, and browser navigations Acquire an understanding of the various WebDriver implementations ...

    selenium-dotnet-2.45.0.zip

    requiring the use of the Java remote WebDriver server. This driver will work with Opera 26 and above, and requires the download of the Opera driver executable. Code cleanup and refactoring will ...

    Selenium webdriver添加cookie实现过程详解

    主要介绍了Selenium webdriver添加cookie实现过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    selenium+python实现自动化登录的方法

    Selenium Python 提供了一个简单的API 便于我们使用 Selenium WebDriver编写 功能/验收测试。 通过Selenium Python的API,你可以直观地使用所有的 Selenium WebDriver 功能 。Selenium Python提供了一个很方便的接口...

    webdriver API中文版

    webdriver API中文版 webdriver API中文版 2 1.1 下载selenium2.0的lib包 2 1.2 用webdriver打开一个浏览器 2 1.3 打开测试页面 3 1.4 GettingStarted 3 第2章 Webdirver对浏览器的支持 5 2.1 HtmlUnit Driver...

    selenium2.0_中文帮助文档

    Selenium2.0帮助文档 第1章 Webdirver基础 2 1.1 下载selenium2.0的lib包 2 1.2 用webdriver打开一个浏览器 2 1.3 打开测试页面 2 1.4 GettingStarted 2 第2章 Webdirver对浏览器的支持 4 2.1 HtmlUnit Driver ...

    Python selenium爬取微信公众号文章代码详解

    参照资料:selenium webdriver添加cookie: https://www.jb51.net/article/193102.html 需求: 想阅读微信公众号历史文章,但是每次找回看得地方不方便。 思路: 1、使用selenium打开微信公众号历史文章,并滚动刷新...

    python使用webdriver爬取微信公众号

    from selenium import webdriver import time import json import requests import re import random #微信公众号账号 user= #公众号密码 password= #设置要爬取的公众号列表 gzlist=['香河微服务'] #登录微信公众号...

    Selenium知识点

    from selenium import webdriver browser=webdriver.Chrome()#完成浏览器对象的初始化 browser.get('http://www.imomoe.in/')#使用get进入一个页面 print(browser.page_source)#page_source属性打印网页源

    Node使用Selenium进行前端自动化操作的代码实现

    手动处理的流程大概是首先登录系统,获取到当前用户下的产品列表,点击产品列表的中产品项进入详情页,对该产品进行一系列的操作,然后保存退出。因为当前有20多万条数据,手动一条一条的处理不太现实,所以希望通过...

    Python GUI自动化实现绕过验证码登录

    这篇文章主要介绍了...from selenium import webdriver class cookies_login: wd=webdriver.Chrome() def getCookies(self): wd=self.wd wd.maximize_window() #登录成功跳转后的页面 url = http://47.108.47

    Python3获取cookie常用三种方案

    from selenium import webdriver driver=webdriver.PhantomJS() url="https://et.xiamenair.com/xiamenair/book/findFlights.action?lang=zh&tripType=0&queryFlightInfo=XMN,PEK,2018-01-15" driver.get(url) # ...

    Scrapy项目实战之爬取某社区用户详情

    from selenium import webdriver from pymongo import MongoClient from scrapy.crawler import overridden_settings # from segmentfault import settings import time import settings class GetCookies(object): ...

    selenium在执行phantomjs的API并获取执行结果的方法

    前言 因为最近要写一个抓取sitemap和相应的参数的小脚本,现有的爬虫无论用什么语言写的,几乎都无法抓取参数,所以我思考了一下,先做一个简单的总结。 本来以为写个这种sitemap的爬虫很简单,经过思考之后才发现...

    编程小白的第一个爬虫公式(给渴望入门爬虫的你)(一)

    是否需要登录,cookies,或传递参数,headers,或者使用代理3.解析网页,查找元素,bs,json,或正则表达式,pyquery,lxml推荐bs,json,正则4.效率控制:单进程/多协程/多线程5.数据存储txt,excel,二进制文件,csv或者...

Global site tag (gtag.js) - Google Analytics