[python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
轉載地址:[python爬蟲] Selenium常見元素定位方法和操作的學習介紹
一. 定位元素方法
? ? ? ? 官網地址:http://selenium-python.readthedocs.org/locating-elements.html
? ? ? ? 這里有各種策略用于定位網頁中的元素(locate elements),你可以選擇最適合的方案,Selenium提供了一下方法來定義一個頁面中的元素:
- find_element_by_id
- find_element_by_name
- find_element_by_xpath
- find_element_by_link_text
- find_element_by_partial_link_text
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
? ? ? ? 下面是查找多個元素(這些方法將返回一個列表):
- find_elements_by_name
- find_elements_by_xpath
- find_elements_by_link_text
- find_elements_by_partial_link_text
- find_elements_by_tag_name
- find_elements_by_class_name
- find_elements_by_css_selector
? ? ? ? 除了上面給出的公共方法,這里也有兩個在頁面對象定位器有用的私有方法。這兩個私有方法是find_element和find_elements。
?
二. 操作元素方法
? ? ? ? 在講述完定位對象(locate elements)之后我們需要對該已定位對象進行操作,通常所有的操作與頁面交互都將通過WebElement接口,常見的操作元素方法如下:
- clear 清除元素的內容
- send_keys 模擬按鍵輸入
- click 點擊元素
- submit 提交表單
- 舉例自動訪問FireFox瀏覽器自動登錄163郵箱。
三. WebElement接口獲取值
? ? ? ? 通過WebElement接口可以獲取常用的值,這些值同樣非常重要。
- size 獲取元素的尺寸
- text 獲取元素的文本
- get_attribute(name) 獲取屬性值
- location 獲取元素坐標,先找到要獲取的元素,再調用該方法
- page_source 返回頁面源碼
- driver.title 返回頁面標題
- current_url 獲取當前頁面的URL
- is_displayed() 設置該元素是否可見
- is_enabled() 判斷元素是否被使用
- is_selected() 判斷元素是否被選中
- tag_name 返回元素的tagName
? ? ? ? 舉例代碼如下:
四. 鼠標操作
? ? ? ? 在現實的自動化測試中關于鼠標的操作不僅僅是click()單擊操作,還有很多包含在ActionChains類中的操作。如下:
- context_click(elem) 右擊鼠標點擊元素elem,另存為等行為
- double_click(elem) 雙擊鼠標點擊元素elem,地圖web可實現放大功能
- drag_and_drop(source,target) 拖動鼠標,源元素按下左鍵移動至目標元素釋放
- move_to_element(elem) 鼠標移動到一個元素上
- click_and_hold(elem) 按下鼠標左鍵在一個元素上
- perform() 在通過調用該函數執行ActionChains中存儲行為
? ? ? ? 舉例如下圖所示,獲取通過鼠標右鍵另存為百度圖片logo。代碼:
五. 鍵盤操作
? ? ? ? 參考:http://selenium-python.readthedocs.org/api.html
? ? ? ? 前面講述了鼠標操作,現在講述鍵盤操作。在webdriver的Keys類中提供了鍵盤所有的按鍵操作,當然也包括一些常見的組合鍵操作如Ctrl+A(全選)、Ctrl+C(復制)、Ctrl+V(粘貼)。更多鍵參考官方文檔對應的編碼。
- send_keys(Keys.ENTER) 按下回車鍵
- send_keys(Keys.TAB) 按下Tab制表鍵
- send_keys(Keys.SPACE) 按下空格鍵space
- send_keys(Kyes.ESCAPE) 按下回退鍵Esc
- send_keys(Keys.BACK_SPACE) 按下刪除鍵BackSpace
- send_keys(Keys.SHIFT) 按下shift鍵
- send_keys(Keys.CONTROL) 按下Ctrl鍵
- send_keys(Keys.ARROW_DOWN) 按下鼠標光標向下按鍵
- send_keys(Keys.CONTROL,'a') 組合鍵全選Ctrl+A
- send_keys(Keys.CONTROL,'c') 組合鍵復制Ctrl+C
- send_keys(Keys.CONTROL,'x') 組合鍵剪切Ctrl+X
- send_keys(Keys.CONTROL,'v') 組合鍵粘貼Ctrl+V
? ? ? ? 這里使用的例子參考蟲師的書籍《selenium2?Python自動化測試》,推薦該書給大家。代碼還是非常有意思的,大家自己去感受下吧~
?
轉載于:https://www.cnblogs.com/shaosks/p/6722590.html
總結
以上是生活随笔為你收集整理的[python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 6.3 为高通 WiFi 7
- 下一篇: 一加11受到老外追捧:多个国家开售秒罄