1. 程式人生 > >三、selenium python api介紹

三、selenium python api介紹

(1)更多地瞭解WebDriver和WebElement這兩個類

(2)使用WebDriver和WebElement的方法來實現包含與Web應用程式互動的測試賽

(3)使用Select類來實現下拉選單和列表的自動化操作

(4)實現JavaScript警告和瀏覽器導航欄的自動化

1.1、WebDriver原理

WebDriver提供許多用來與瀏覽器互動的功能與設定。我們可以通過使用WebDriver的功能和一些方法來實現與瀏覽器視窗、警告、框架和彈出框的互動,它也提供了自動化操作瀏覽器導航欄、設定cookies、截圖等方便我們測試的特性。

1.1.1、WebDriver功能

功能/屬性
描述 例項
current_url 獲取當前頁面的URL地址 driver.current_url
current_window_handle 獲取當前視窗的控制代碼 driver.current_window_handle
name 獲取該例項底層的瀏覽器名稱 driver.name
orientation 獲取當前裝置的方位 driver.orientation
page_source 獲取當前頁面的原始碼 driver.page_source
title 獲取當前頁面的標題 driver.title
window_handles 獲取當前session裡所有的視窗的控制代碼 driver,window_handles

1.1.2、WebDriver方法

方法 描述 引數 例項
back() 後退一步到當前會話的瀏覽器歷史記錄最後一步操作前的頁面 driver.back()
close()

關閉當前瀏覽器視窗

driver.close()
forward()

前進一步到當前會話的瀏覽器歷史記錄中前一步操作後的頁面

driver.forward()
get(url) 訪問目標URL並載入網頁到當前的瀏覽器會話 url是目標網頁的網站地址 driver.get("http://www.baidu.com")
maximize_window() 最大化當前瀏覽器視窗 driver.maximize_window()
quit() 退出當前driver並且關閉所有的相關視窗

driver.quit()

refresh() 重新整理當前頁面 driver.refresh()
switch_to_active_element() 返回當前頁面唯一焦點所在的元素或者元素體 driver.switch_to_active_element()
switch_to_alert() 把焦點切換至當前頁面彈出框 driver.seitch_to_alert()
switch_to_default_content() 切換焦點至預設框架內 driver.switch_to_default_content()
switch_to_frame(frame_reference) 通過索引、名稱和網頁元素將焦點切換到指定的框架,這種方法也適用於IFRAMES frame_refernece:要切換的目標視窗的名稱、整數型別的索引或者要切換的目標框架的網頁元素 driver.switch_to_frame('frame_name')
switch_to_window(window_name) 切換焦點到指定的視窗

window_name:

要切換的目標視窗的名稱或者控制代碼

driver.switch_to_window('main')
implicity_wait(time_to_wait) 超時設定等待目標元素被找到,或者目標指令執行完成。該方法在每個session只需呼叫一次,execute_async_script()的超時設定請參考set_script_timeout方法

time_to_wait:

等待時間(單位為秒)

set_page_load_timeout(time_to_wait) 設定一個頁面完全載入完成的超時等待時間

time_to_wait:

等待時間(單位為秒)

driver.set_page_load_timeout(30)
set_script_timeout(time_to_wait) 設定指令碼執行的超時時間,應該在execute_async_script()丟擲錯誤之前

time_to_wait:

等待時間(單位為秒)

driver.set_script_time(30)

1.2、WebElement介面

可以通過WebElement實現與網站頁面上的元素互動。這些元素包含文字框、文字域、按鈕、單選框、多選框、表格、行、列和div等。

1.2.1、WebElement功能

功能 描述 例項
size 獲取元素的大小 element.size
tag_name 獲取元素的HTML標籤名稱 element.tag_name
text 獲取元素的文字值 element.text

1.2.2、WebElement方法

方法 描述 引數 例項
clear() 清除文字框或者文字域中的內容 element.clear()
click() 單擊元素 element.click()
get_attribute(name) 獲取元素的屬性值 name:元素的名稱 element.get_attribute("value")
is_displayed() 檢查元素對於使用者是否可見 element.is_displayed()
is_enabled() 檢查元素是否可用 element.is_enabled()
is_selected() 檢查元素是否被選中。該方法應用於複選框和單選按鈕 element.is_selected
send_keys(*value) 模擬輸入文字 value:待輸入的字串 element.send_keys("hyp")
submit() 用於提交表單。如果對一個元素應用此方法,將會提交該元素所屬的表單 element.submit()

value_of_css_property

(property_name)

獲取CSS屬性的值 property_name:CSS屬性的名稱 element.value_of_css_property("color")