selenium.元素定位(find_element_by)

 八種定位元素的方式

  1. 經過id定位元素:find_element_by_id("id_vaule")
  2. 經過name定位元素:find_element_by_name("name_vaule")
  3. 經過tag_name定位元素:find_element_by_tag_name("tag_name_vaule")
  4. 經過class_name定位元素:find_element_by_class_name("class_name")
  5. 經過css定位元素:find_element_by_css_selector()
  6. 經過xpath定位元素:find_element_by_xpath("xpath")
  7. 經過link:find_element_by_link_text("text_vaule")
  8. 經過find_element_by_partial_link_text()
 
百度首頁面作個搜索selenium的例子,演示五個比較經常使用的定位方式
from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.implicitly_wait(10)   #隱形等待
driver.get('https://www.baidu.com/') sleep(1) #以五種定位方式定位到百度首頁的搜索輸入框
kw_find = driver.find_element_by_id('kw') #kw_find= driver.find_element_by_class_name('s_ipt') #kw_find= driver.find_element_by_name('wd') #kw_find = driver.find_element_by_xpath('//*[@id="kw"]') #kw_find = driver.find_element_by_css_selector('#kw') #id用#kw,class用.s_ipt ,與css的簡寫方式相同

#send_keys() 是selenium自帶的方法,用來輸入文本
kw_find.send_keys('selenium') #使用id定位方式定位到搜索按鈕
su_find = driver.find_element_by_id('su') #click() 是selenium自帶的方法,用來點擊定位的元素
su_find.click() sleep(1) driver.quit()

 

 一樣用百度首頁的的其中一個hao123來練習 link_text和partial_link_text定位方式css

from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.implicitly_wait(10)   #隱形等待
driver.get('https://www.baidu.com/') sleep(1) #定位hao123頁面的超連接並點擊
hao123_find = driver.find_element_by_link_text('hao123') #這個方法比較直接,即經過超文本連接上的文字信息來定位元素
 hao123_find = driver.find_element_by_partial_link_text('hao1') #這個方法是上一個方法的擴展。當你不能準確知道超連接上的文本信息或者只想經過一些關鍵字進行匹配時,能夠使用這個方法來經過部分連接文字進行匹配
hao123_find.click() sleep(1) driver.quit()

  

還有一種是 tag_name 定位,此方式能夠經過元素的標籤名稱來查找元素,可是通常WEB網站的標籤名都是會重複的全部用的並不太方便。
可是能夠配合循環輸出標籤的屬性。
from selenium import webdriver from time import sleep driver = webdriver.Chrome() driver.get('https://www.baidu.com') for img in driver.find_elements_by_tag_name("img"): print(img.text) print(img.size) print(img.tag_name) sleep(2) driver.quit()

  

運行發現沒有圖片名稱打印出來,說明百度首頁,全部圖片都沒有給出text這個屬性。web

相關文章
相關標籤/搜索