• cookie处理


    有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除cookie信息。

    webdriver 操作cookie 的方法有:

    get_cookies()              获得所有cookie 信息
    get_cookie(name)        返回特定name 有cookie 信息
    add_cookie(cookie_dict)   添加cookie,必须有name 和value 值
    delete_cookie(name)     删除特定(部分)的cookie 信息

    delete_all_cookies()      删除所有cookie 信息

    通过webdriver 操作cookie 是一件非常有意思的事儿,有时候我们需要了解浏览器中是否存在了某个cookie 信息,webdriver 可以帮助我们读取、添加,删除cookie 信息。

    1)打印cookie信息:

    代码示例:

    #coding=utf-8
    from selenium import webdriver
    import time


    driver = webdriver.Chrome()
    driver.get("http://www.youdao.com")


    # 获得cookie 信息
    cookie= driver.get_cookies()


    #将获得cookie 的信息打印
    print cookie


    driver.quit()

    运行打印信息:

    [{u'domain': u'.youdao.com', u'secure': False, u'value':
    u'aGFzbG9nZ2VkPXRydWU=', u'expiry': 1408430390.991375, u'path': u'/',
    u'name': u'_PREF_ANONYUSER__MYTH'}, {u'domain': u'.youdao.com', u'secure':
    False, u'value': u'1777851312@218.17.158.115', u'expiry':
    2322974390.991376, u'path': u'/', u'name': u'OUTFOX_SEARCH_USER_ID'},
    {u'path': u'/', u'domain': u'www.youdao.com', u'name': u'JSESSIONID',
    u'value': u'abcUX9zdw0minadIhtvcu', u'secure': False}]

    2)对cookie 操作

    上面的方式打印了所有cookie 信息,太多太乱,我们只想有真对性的打印自己想要的信息,看下面的例子:

    代码示例:

    #coding=utf-8
    from selenium import webdriver
    import time


    driver = webdriver.Firefox()
    driver.get("http://www.youdao.com")


    #向cookie 的name 和value 添加会话信息。
    driver.add_cookie({'name':'key-aaaaaaa', 'value':'value-bbbb'})

    #遍历cookies 中的name 和value 信息打印,当然还有上面添加的信息
    for cookie in driver.get_cookies():
    print "%s -> %s" % (cookie['name'], cookie['value'])

    ##### 下面可以通过两种方式删除cookie #####


    # 删除一个特定的cookie
    driver.delete_cookie("CookieName")


    # 删除所有cookie
    driver.delete_all_cookies()

    time.sleep(2)


    driver.close()

    运行打印信息:

    YOUDAO_MOBILE_ACCESS_TYPE -> 1
    _PREF_ANONYUSER__MYTH -> aGFzbG9nZ2VkPXRydWU=
    OUTFOX_SEARCH_USER_ID -> -1046383847@218.17.158.115
    JSESSIONID -> abc7qSE_SBGsVgnVLBvcu
    key-aaaaaaa -> value-bbbb #     这一条是我们自己添加的

  • 相关阅读:
    Xcode 5.1 更新后插件不能用
    adplus 抓取dump
    压力测试工具 Tinyget
    mssql server提示无权限
    windbg sos加载相关
    oracle中文显示为问号
    菜鸟成长进阶之——fiddler使用总结
    windbg学习进阶之——windbg字段名及其意义
    windbg学习进阶之——dump分析常用命令收集
    windbg学习进阶之——windbg环境变量配置
  • 原文地址:https://www.cnblogs.com/jshtest/p/6248783.html
Copyright © 2020-2023  润新知