`

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 Practical Guide-Code

    《Selenium WebDriver 实践指南-代码》是一个针对自动化测试工程师的宝贵资源,它包含了实际操作中的Selenium WebDriver的源代码示例。Selenium WebDriver是一个强大的工具集,用于自动化Web浏览器,支持多种编程...

    selenium webdriver 学习

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

    selenium webdriverAPI-python

    ### Selenium WebDriver API in Python #### Introduction Selenium WebDriver is a powerful tool for automating web browsers. It provides a platform-independent way to interact with web pages and can be...

    selenium webdriver jar 包

    Selenium WebDriver提供了跨平台支持,可以在Windows、Linux和Mac OS等操作系统上运行,并兼容多种浏览器,如Chrome、Firefox、Internet Explorer和Edge等。其工作原理是通过WebDriver接口与浏览器的特定驱动程序...

    selenium-WebDriver的API文档

    **Selenium WebDriver API 文档详解** Selenium 是一个强大的开源自动化测试工具,广泛应用于Web应用程序的测试。它的WebDriver API 提供了一种编程接口,允许测试人员通过多种编程语言(如Java、Python、C#等)...

    Selenium Webdriver

    除了基本的元素操作,Selenium Webdriver还支持框架级的测试,例如模拟键盘事件、处理弹出框、文件上传、处理cookies等。对于复杂的测试场景,可以利用Selenium Grid进行分布式测试,将测试用例并行运行在多台机器上...

    seleniumwebdriver

    ### Selenium WebDriver 学习知识点概览 #### 1. Selenium WebDriver 概述 - **定义**: Selenium WebDriver 是一种用于自动化 Web 测试的工具,能够直接与浏览器交互,并且支持多种编程语言,例如 Java、Python、C#...

    python版本selenium webdriver api

    除了基本操作,Selenium还可以进行更复杂的任务,如模拟用户行为(如拖放、滚动)、处理cookies、执行自动化测试框架(如TestNG或JUnit)等。 在实际项目中,通常会结合其他库如BeautifulSoup或Scrapy来处理HTML...

    selenium-2.33.0

    总的来说,这个压缩包包含了一个完整的Selenium WebDriver开发和学习环境,涵盖了从基本概念到高级用法,以及相关的构建工具和文档资源。对于希望学习或使用Selenium WebDriver的人来说,这是一个非常宝贵的资源。...

    selenium-API 3.5.1-201908071526.zip

    1. WebDriver接口:这是Selenium的核心,提供了对浏览器的直接控制,包括启动、关闭和导航等操作。 2. WebElement接口:表示页面上的特定元素,提供了一系列方法来与这些元素交互,如click()、sendKeys()等。 3. By...

    selenium-4.1.3-py3-none-any

    Selenium 还提供了高级功能,如等待条件(`WebDriverWait`)、并行测试(使用测试框架如 TestNG 或 pytest)、以及对浏览器缓存、cookies 和会话的控制。此外,它与各种测试框架(如 PyTest, unittest 等)良好集成...

    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 WebDriver添加cookie,并通过实际案例帮助理解其过程。 一、...

    nwd:Selenium WebDriver Wire Protocol的纯node.js实现

    标题中的“nwd”指的是一个基于Node.js实现的Selenium WebDriver Wire Protocol的库。Selenium WebDriver Wire Protocol是一种标准通信协议,允许编程语言与浏览器进行交互,实现自动化测试。这个库的目的是提供一个...

    selenium之foxfire的gwebdriver驱动

    在IT行业中,Selenium是一个广泛使用的自动化测试工具,主要用于...在实际项目中,还需要根据具体需求进行各种复杂的操作,例如处理cookies、模拟用户登录、填表单、点击元素等,这都需要对Selenium的API有深入的理解。

    selenium-2.15-API

    8. **Cookies操作**:WebDriver允许添加、删除和获取cookies,这对于模拟用户登录状态或跟踪测试状态非常有用。 9. **执行JavaScript**:通过`driver.execute_script()`方法,可以直接执行JavaScript代码,以访问...

    selenium2.0中文帮助文档.pdf

    通过以上内容的详细介绍,可以看出Selenium2.0提供了强大的功能集,不仅支持多种浏览器和操作系统,还提供了丰富的API来满足各种自动化测试的需求。对于软件测试工程师来说,掌握这些知识点是非常重要的。

    selenium-python

    操作cookies也是其提供的功能之一。 定位页面元素是Selenium的一大特色,它允许测试人员通过多种方式定位页面元素,如通过ID、名称、XPath、链接文本来定位超链接,通过标签名、类名、CSS选择器来定位元素。这对于...

Global site tag (gtag.js) - Google Analytics