之前我们已经学过利用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)
接下来的东西就会系统一些,“框架”一些了,大家继续和船长一起加油~~~
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~