WebDriver 和 WebElement 是 Selenium 中兩個非常重要的類,使用它們提供的方法可以實現與瀏覽器和頁面元素的各種交互操作。WebDriver 提供了許多用來與瀏覽器交互的功能和設置,我們可以通過使用 WebDriver 的功能和一些方法來實現與瀏覽器窗口、警告、框架和彈出窗口的交互,它也提供了自動化操作瀏覽器導航欄、設置 cookies、截屏等特性,後面將一一介紹。
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 |
WebDriver 方法
方法 |
描述 |
參數 |
實例 |
back( ) |
後退一步到當前會話的瀏覽器歷史記錄中最後一步操作前的頁面 |
|
driver.back( ) |
close( ) |
關閉當前瀏覽器窗口 |
|
driver.close( ) |
forward( ) |
前進一步到當前會話的瀏覽器歷史記錄中前一步操作後的頁面 |
|
driver.forward( ) |
get(url) |
訪問目標 URL 並加載網頁到當前的瀏覽器會話 |
URL 是目標網頁的網站地址 |
driver.get("https://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.switch_to_alert( ) |
switch_to_default_centent( ) |
切換焦點至默認框架內 |
|
driver.switch_to_default_content( ) |
switch_to_frame(frame_reference) |
通過索引、名稱和網頁元素將焦點切換到指定的框架,這種方法也適用於IFRAMES |
frame_reference:要切換的目標窗口的名稱、整數類型的索引或者要切換的目標框架的網頁元素 |
driver.switch_to-frame(frame_reference) |
switch_to_window(window_name) |
切換焦點到指定的窗口 |
window_name:要切換的目標窗口的名稱或者句柄 |
driver.switch_to_window(window_name) |
implicitly_wait(time_to_wait) |
超時設置等待目標元素被找到,或者目標指令執行完成。該方法在每個session只需要調用一次 |
time_to_wait:等待時間(單位爲秒) |
driver.implicitly_wait(time_to_wait) |
set_page_load_timeout(time_to_wait) |
設置一個頁面完全加載完成的超時等待時間 |
time_to_wait:等待時間(單位爲秒) |
driver.set_page_load_timeout(time_to_wait) |
set_script_timeout(time_to_wait) |
設置腳本執行的超時時間,應該在execute_async_script拋出錯誤之前 |
time_to_wait:等待時間(單位爲秒) |
driver.set_script_timeout(time_to_wait) |