Selenium 模組
Webdriver可以用來控制並自動化瀏覽器來獲取我們想要的內容
Webdriver API
方法 | 作用 |
---|---|
driver.current_url | 取得目前的網頁網址 |
driver.close() | 關閉瀏覽器 |
click (on_element=None) | 點擊元素( on_element ),沒有的話則點擊當前滑鼠位置 |
click_and_hold (on_element=None) | 按住左鍵,如果沒有元素的話則按住目前位置 |
release ( on_element=None ) | 在元素上釋放滑鼠左鍵,如果沒輸入元素在則在當前釋放 |
| 右鍵單擊,沒有元素的話則右鍵單擊當前滑鼠位置 |
double_click ( on_element=None ) | 雙擊元素,沒有元素的話則雙擊當前位置 |
drag_and_drop (來源, 目標) | 在來源元素上按住左鍵並拖曳到目標元素上 |
| 左鍵按住來源元素,拖曳到偏移後的x軸跟y軸後的位置(相對位置) |
key_down (鍵值, element=None) | 按住一個按鍵(未回彈),如果未輸入元素則聚焦在當前元素 |
key_up (鍵值, element=None) | 放開(回彈)一個按鍵,如果未輸入元素則聚焦在當前元素,例如要輸入ctrl+c: .key_down(Keys.CONTROL).send_keys(‘c’).key_up(Keys.CONTROL).perform() |
move_by_offset ( x軸偏移, y軸偏移) | 將滑鼠移到偏移後的位置 |
move_to_element ( to_element ) | 將滑鼠位置移到元素的中間 |
move_to_element_with_offset ( to_element , x軸偏移 , y軸偏移) | 將滑鼠位置移動到以元素為相對位置偏移後的位置上,例如偏移到元素的右上角 |
pause (秒) | 暫停(秒) |
perform ( ) | 執行所有以寫完的操作(加在最後) |
reset_actions ( ) | 清除已儲存的操作 |
send_keys ( *keys_to_send ) | 傳送按鍵到當前聚焦的元素上 |
send_keys_to_element (元素, *keys_to_send ) | 傳送按鍵到指定的元素上 |
page_source | 獲取當前網頁原始碼 |
text | 讀取元素內容 |
size | 傳回元素大小,例如:{“width” : “200”, “height” : “600”} |
get_window_position() | 取得視窗左上角的位置 |
set_window_position(x=, y=) | 設定視窗左上角的位置 |
maximize_window() | 視窗最大化 |
get_window_size() | 取得視窗的大小 |
set_window_size(width=, height=) | 設定視窗的大小 |
get(url) | 連結url網址 |
refresh() | 重新整理網頁 |
back() | 返回上一頁 |
forward() | 下一頁 |
clear() | 清除輸入內容 |
submit() | 提交表格 |
quit() | 關閉瀏覽器並退出驅動 |
尋找網頁元素
方法 | 作用 |
---|---|
find_element_by_id(id) | 以id尋找第一個元素,如在element後加上s則傳回(以串列)所有符合的元素 |
find_element_by_class_name(name) | 以類別尋找第一個元素,如在element後加上s則傳回(以串列)所有符合的元素 |
find_element_by_tag_name(eg: h1, a, span) | 以HTML標籤尋找第一個元素,如在element後加上s則傳回(以串列)所有符合的元素 |
find_element_by_link_text(text) | 以連文字元素尋找第一個元素,如在element後加上s則傳回(以串列)所有符合的元素 |
find_elements_by_partial_link_text (link_text) | 以部分連結文字來找第一個元素,如在element後加上s則傳回(以串列)所有符合的元素 |
find_element_by_css_selector(css_selector) | 以CSS選擇器來尋找第一個元素,如在element後加上s則傳回(以串列)所有符合的元素 |
find_element_by_xpath(xpath) | 以xml的路徑來查詢元素 ,如在element後加上s則傳回(以串列)所有符合的元素 |