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則傳回(以串列)所有符合的元素 |