Webdriver API之操做(二)

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')
View Code

 

(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()
相關文章
相關標籤/搜索