1. 程式人生 > >Python+Selenium練習篇之3-利用tag name定位元素

Python+Selenium練習篇之3-利用tag name定位元素

前一篇文章介紹瞭如何通過元素的id值來定位web元素,本文介紹如何通過tag name來定位元素。個人認為,通過tag name來定位還是有很大缺陷,定位不夠精確。主要是tag name有很多重複的,造成了選擇tag name來定位頁面元素不準確,所以使用這個方法定位web元素的機會很少。

      什麼是tag name? 還是以百度首頁搜尋輸入框,在火狐瀏覽器,右鍵,通過firepath,檢查元素,看下圖:

 

      上面圖片中紅色圈選區域的標籤名稱都是tag name;實際上我們目標元素是輸入框,應該是input這個tag name,在圖中藍色高亮區域。但是如果只是通過input這個tag name來定位,發現上面有很多input的選項。所以我們擴大節點的參照選擇,我們選擇上面這個form來作為我們tag name。

看看如何寫定位form這個元素的指令碼:

# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)

driver.get("https://www.baidu.com")
try:
driver.find_element_by_tag_name("form")
print ('test pass: tag name found')
except Exception as e:
print ("Exception found", format(e))

driver.quit()
測試結果:

test pass: tag name found

總結:本文介紹了webdriver 八大定位元素方法中的

driver.find_element_by_tag_name("form") # form是tag name
從實際專案中自動化指令碼開發來看,使用這個方法定位元素的機會比較少,知道有這麼一種方法就好了。