日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

[python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)

發布時間:2023/12/15 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [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常见元素定位方法和操作的学习介绍(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。