《selenium2 python 自动化测试实战》(17)——几个cookies操作

之前我们已经学过利用cookies跳过验证码登录了,那时候我们用的方法是add_cookie()方法,这里再给大家介绍两个,一般情况下我们用不到,了解一下就可以,而且如果真的用到的时候百度也很快的:

# coding: utf-8

from selenium import webdriver
from time import sleep d = webdriver.Firefox() d.get("https://www.yiyao.cc")
# 看一下登录前的cookie
print d.get_cookies() d.add_cookie({'name': '_ui_',
             'value': '+f8a02ljlfcnpYmw==',
             'Domain': 'yiyao.cc'}) d.add_cookie({'name': '_ut_',
             'value': 'otrftkqcJoQ4F2Q==',
             'Domain': 'yiyao.cc'}) sleep(3) d.refresh() sleep(2)
# 看一下登录后的cookie
print d.get_cookies()

    给大家推荐一个很好用的软件和对应的插件:

    这个,而且要下这个版本的,因为我就会用这个版本下插件:

        下载一个JSTool的插件,插件很多,只能慢慢找这个,下载好了以后,格式化json是非常方便的,Ctrl+alt+m就可以切换成标准格式的json:

        至于那些删除cookie(delete_cookie('key'))或者删除所有cookies(delete_all_cookies())就不用说了,谁闲着没事删cookies啊。

 

获取对象属性

 

        还有一个就是查看对象属性:get_attribute()

 

以百度为例:

# coding: utf-8

from selenium import webdriver
d = webdriver.Firefox() d.get("https://www.baidu.com")
print d.get_cookies()
# 定位新闻
attri = d.find_element_by_xpath(".//*[@id='u1']/a[1]")
# 打印class属性值
print attri.get_attribute('class')
# 打印文字内容
print attri.text

可以看到打印的内容是:

 

        到此为止,我们selenium基础部分就算是结束了,如果你把我讲的这些都弄懂了,感觉就差不多了,因为我最熟悉的也就是到此为止讲的这些知识,不知道大家学的怎么样,对我来说我觉得很好的复习了一边,尤其是跳过验证码登录那里,以前我也不会,还有去掉chrome提示“正在被自动化软件使用”提示语那个——你还记得吗:

 

options = webdriver.ChromOptions()
options.add_argument('disable-infobars')
d = webdriver.Chrome(chrome_options=options)

        接下来的东西就会系统一些,“框架”一些了,大家继续和船长一起加油~~~

 

微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~

posted @ 2017-12-19 20:05  孟船长  阅读(351)  评论(0编辑  收藏  举报