1、窗口截圖html
dirver.get_screenshot_as_file("D:\\report\\image\\xxx.jpg")web
2、關閉窗口瀏覽器
dirver.close() #關閉當前窗口服務器
driver.quit() #退出瀏覽器cookie
3、操做Cookieapp
有時候咱們須要驗證瀏覽器中是否存在某個 cookie,由於基於真實的 cookie 的測試是沒法經過白盒和 集成測試完成的。WebDriver 提供了操做 Cookie 的相關方法能夠讀取、添加和刪除 cookie 信息。
webdriver 操做 cookie 的方法有: ide
get_cookies() 得到全部 cookie 信息 函數
get_cookie(name) 返回有特定 name 值有 cookie 信息 工具
add_cookie(cookie_dict) 添加 cookie,必須有 name 和 value 值 測試
delete_cookie(name) 刪除特定(部分)的 cookie 信息
delete_all_cookies() 刪除全部 cookie 信息 下面經過 get_cookies()來獲取當前瀏覽器的 cookie 信息。
1 from selenium import webdriver 2
3 driver = webdriver.Chrome() driver.get("http://www.youdao.com") 4
5 # 得到cookie信息
6 cookie= driver.get_cookies() 7 #將得到cookie的信息打印
8 print cookie 9 driver.quit()
4、驗證碼處理
1. 讓開發去掉驗證碼
2. 讓開發設置萬能驗證碼
3. 驗證碼識別技術(光學字符識別)
4. 記錄cookie
1 #訪問xx網站
2 driver.get("http://www.xx.cn") 3
4 #將用戶名密碼寫入瀏覽器cookie
#username 1@1.com
5 driver.add_cookie({'name':'Login_UserNumber', 'value':'username'})
#password 111111 6 driver.add_cookie({'name':'Login_Passwd', 'value':'password'}) 7
8 #再次訪問xx網站,將會自動登陸 driver.get("http://www.xx.cn/")
9 time.sleep(3) 10 .... 11 driver.quit()
5、調用JavaScript
調用js通常處理有:控制滾動條,富文本,把隱藏的元素顯示出來
1. 控制滾動條
js = "window.scrollTo(100,450);" browser.execute_script(js)
2. 用js寫入富文本
js = "document.getElementById('content_ifr').contentWindow.document.body.innerHTML=''你好,我是富文本!" browser.execute_script(js)
3. 把隱藏的元素顯示出來
6、處理HTML5視頻
。。。。
7、上傳文件
1. send_keys實現上傳
(1)普通上傳:普通的附件上傳都是將本地文件的路徑做爲一個值放 input 標籤中,經過 form 表單提交的時候將這個值提交給服務器。便可以將其看做是一個輸入框,經過send_keys()指定本地文件路徑的方式實現上傳。
1 #打開上傳功能頁面
2 file_path = 'file:///' + os.path.abspath('upfile.html') driver.get(file_path) 3
4 #定位上傳按鈕,添加本地文件 driver.find_element_by_name("file").send_keys('D:\\upload_file.txt')
(2)插件上傳:通常是指基於 Flash 與 JavaScript 或 Ajax 等技術所實現的上傳功能或插件。
2. Autolt實現上傳
它是一個相似BASIC腳本語言的免費軟件,被設計用來進行Windows GUI(圖形用戶界面)的自動化測試。利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現自動化任務。
AutoItWindows Info 用於幫助咱們識 Windows 控件信息。
CompileScript to.exe 用於將 AutoIt 生成 exe 執行文件。
RunScript 用於執行 AutoIt 腳本。
SciTE Script Editor 用於編寫 AutoIt 腳本。
1 #點擊打開上傳窗口
2 driver.find_element_by_name("file").click()
3
4 #調用upfile.exe上傳程序
5 os.system("D:\\upfile.exe")
6 driver.quit()
8、下載文件
Webdriver容許咱們設置默認的文件下載路徑。
只針對Firefox,因此也能夠參考使用Autoit工具(上看)
1 #coding=utf-8
2 from selenium import webdriver
3 import os
4
5 fp = webdriver.FirefoxProfile()
6 # browser.download.folderList設置成 0 表明下載到瀏覽器默認下載路徑;設置成 2 則能夠保存到指定目錄
7 fp.set_preference("browser.download.folderList",2)
8
9 #browser.download.manager.showWhenStarting
10 是否顯示開始,Ture 爲顯示,Flase 爲不顯示
11 fp.set_preference("browser.download.manager.showWhenStarting",False)
12
13 #browser.download.dir,用於指定你所下載文件的目錄。os.getcwd() 該函數不須要傳遞參數,用於返回當前的目錄。
14 fp.set_preference("browser.download.dir", os.getcwd())
15
16 # browser.helperApps.neverAsk.saveToDisk
17 指定要下載頁面的 Content-type 值,「application/octet-stream」爲文件的類型。HTTP Content-type 常 用對照表:http://tool.oschina.net/commons
18
19 fp.set_preference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream")
20
21 #下載文件的類型
22 driver = webdriver.Firefox(firefox_profile=fp) driver.get("http://pypi.Python.org/pypi/selenium") driver.find_element_by_partial_link_text("selenium-2").click()