1、cookie操作 绕过登录
- get_cookies():以字典形式返回cookie所有信息
- get_cookies(name):返回cookie字典中key为name的值
- add_cookie(cookie_dict):手动添加cookie。cookie_dict为字典数据格式,cookie_dict中必须有name和value值
- delete_cookie(name):删除cookie字典中key为name的值
- delete_all_cookies():删除所有cookie信息
#示例:访问百度,手动登录后获取cookie信息 from selenium import webdriver import time driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get("") #清除所有的cookie driver.delete_all_cookies() #登录通过手动操作完成 time.sleep(30) #获取cookie cookie = driver.get_cookies() print(cookie)
cookie字段解释:
- domain:可以访问此cookie的域名
- expiry:cookie有效终止时间
- httpOnly:防脚本攻击
- name:cookie名称
- path:可以访问此cookie的页面路径
- secure:只有当浏览器和服务器通信协议加密即https,浏览器才向服务器提交相应cookie
- value:cookie值,动态生成的
2、Javascript调用 execute_script()
#示例:定位id=‘id’ #javascript语法为document.getElementById('id') #利用webdriver操作javascript脚本进行定位 driver. execute_script("document.getElementById('id')")
3、屏幕截图
一般用于程序运行失败时自动截取当前页面,保持记录,方便查看失败原因
4种方式:
- save_screenshot():获取当前窗口屏幕截图,以png文件格式存储
- get_screenshot_as_base64():以base64编码字符串的形式获取当前窗口的屏幕截图
- get_screenshot_as_file():获取当前屏幕截图,使用完整的路径。如果有任何IO error,返回false,否则返回true
- get_screenshot_as_png():以二进制数据形式获取当前屏幕截图
#示例:访问一个页面,定位一个不存在的元素。当定位元素不存在时进行截图保存 #-*-coding:utf-8-*- from selenium import webdriver from selenium.common.exceptions import NoSuchElementException driver = webdriver.Chrome() driver.get("") driver.implicitly_wait(10) try: driver.find_element_by_id('id') except NoSuchElementException: #定位元素不存在时截图 driver.save_screenshot('img/testFail/screenshot.png') driver.quit()
标签:截图,name,get,Selenium,javascript,driver,cookie,id From: https://www.cnblogs.com/ddupfan/p/17508819.html