三、八種基本定位方式及定位插件的使用


 

1.八種基本定位方式

  id定位,使用方法: driver.find_element_by_id("id")

  name定位,使用方法:driver.find_element_by_name("name")

  class name定位,使用方法:driver.find_element_by_class_name("class name")

  tag name 定位,使用方式:driver.find_element_by_tag_name("tag name")

  link text 定位,使用方式:driver.find_element.by_link_text("link text")

  partial link text定位,使用方式:driver.find_element_by_partial_link_text("partial link text")

  xpath 定位,使用方式:driver.find_element_by_xpath("xpath")

  css selector 定位使用方式:driver.find_element_by_css_selector("css selector")

  以百度為例

  這個是百度搜索輸入框的控件信息

  這個是百度一下 按鈕的控件信息

 

  使用id定位實例:

  

from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("https://www.baidu.com/")
driver.find_element_by_id("kw").send_keys("小渣仔")
driver.find_element_by_id("su").click()
driver.close()

  使用name定位:

from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("https://www.baidu.com/")
driver.find_element_by_name("wd").send_keys("小渣仔")
driver.find_element_by_id("su").click()
driver.close()

  只列出兩個實例,剩下的自己體會下。

  小心得:最常用的 是 css、xpath、id 這三個,其它的有時會出現定位不到的問題。xpath 和 css 定位率較高,但是xpath效率慢,推薦使用css定位,定位准確且效率高。

  css定位列子:

from selenium import webdriver
driver = webdriver.Chrome()
driver.implicitly_wait(30)
driver.get("https://www.baidu.com/")
driver.find_element_by_css_selector(".s_ipt").send_keys("小渣仔")
driver.find_element_by_css_selector(".s_btn").click()
driver.close()

  如果定位失敗,會給出這個提示:

2.使用定位插件定位

 定位控件的問題,用瀏覽器自帶的的開發者工具,有時無法滿足需求,需要使用第三方定位插件來輔助定位,目前主流的定位插件有火狐瀏覽器的Firebug、firepath、Selenium Builder、Ranorex Selocity等

 本教程只講Ranorex Selocity的使用,其它插件自行百度使用。

 Ranorex Selocity 下載地址:鏈接:https://pan.baidu.com/s/1YlgJBlXUD2kcXM667pNZfQ  提取碼:olge 

  安裝Ranorex Selocity 教程:

  新建一個文件夾任意命名,把下載ranorex selocity 的壓縮包文件解壓到該文件夾。

  開chrome,地址欄輸入chrome://extensions/ ,點擊開啟開發者模式

  點擊加載以解壓的擴展程序

選擇解壓的文件夾,點擊確定,右上角出現如下圖的圖標表示安裝完成

使用Ranorex Selocity

  打開瀏覽器,在地址欄 輸入 https://www.baidu.com/

  F12 或者 鼠標右鍵-檢查,打開開發者工具欄,界面如下圖

點擊 elements,點擊選擇元素

再點擊 Ranorex Selocity

可以看到已經獲取了css,xpath,rxpath,點擊復制,粘貼到代碼里 就可以了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM