webdriver高级特性

一:操作cookies
cookies:将有效诸如用户偏好,登录信息以及客户端细节信息,记录并保存在用户计算机本地,webdriver提供一系列操作cookies方法,包括读取,添加和删除
add_cookie(cookie_dict):在当前会话中添加cookie信息 . eg:driver.add_cookie({“foo”,“bar”})
delete_all_cookies():在当前会话中删除cookie信息
delete_cookie(name):删除单个名为name的cookie信息
get_cookie(name):返回单个名为name的cookie信息,若没有找到,返回none
get_cookies():返回当前会话的所有cookie信息

#coding=utf-8
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.muke.com")
# 获得 cookie 信息
cookie= driver.get_cookies()
#将获得 cookie 的信息打印
print cookie
#向 cookie 的 name 和 value 添加会话信息。
driver.add_cookie({'name':'key', 'value':'value'})
#遍历 cookies 中的 name 和 value 信息打印,当然还有上面添加的信息
for cookie in driver.get_cookies():
print "%s -> %s" % (cookie['name'], cookie['value'])
driver.quit()

二:屏幕截图
Webdriver内置一些在测试执行过程中捕获屏幕并保存的方法
save_screenshot(filename):获取当前屏幕截图并保存为指定文件 eg:driver.save_screenshot(“homepage.png”)
get_screenshot_as_base64():获取当前屏幕截图base64编码字符串(用于html页面直接嵌入base64编码图片)
get_screenshot_as_file(filename):获取当前屏幕截图,使用完整的路径。如果有任何IOError,返回False,否则返回true ,其中filename:指定保存的路径或图片文件名
get_screenshot_as_png():获取当前屏幕截图的二进制文件数据

#coding=utf-8
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
try:
driver.find_element_by_id('kw_error').send_key('selenium')
driver.find_element_by_id('su').click()
except :
driver.get_screenshot_as_file("D:\\baidu.jpg")
driver.quit()

三:调用JavaScript
execute_async_script(script,*args):异步执行js代码
execute_script(script,*args):同步执行js代码

#coding=utf-8
from selenium import webdriver
import time
#访问百度
driver=webdriver.Firefox()
driver.get("http://www.baidu.com")
#搜索
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
#将页面滚动条拖到底部
js="var q=document.documentElement.scrollTop=500"
driver.execute_script(js)
time.sleep(3)
#将滚动条移动到页面的顶部
js_="var q=document.documentElement.scrollTop=0"
driver.execute_script(js_)
time.sleep(3)
driver.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值