Python + Selenium 元素定位函數 find_element


WebDriver 中的 find_element() 方法用來查找元素,並返回 WebElement 對象。是 WebDriver 中最常用的方法。

前面提到的八種定位方式都有對應的方法,如find_element_by_id()

在 WebDriver 中還有一種用法,就是單純的find_element()。需要通過參數傳入定位方式和定位語句。

from selenium.webdriver.common.by import By driver.find_element(By.ID, "kw") driver.find_elements(By.TAG_NAME, "input") 

這種方法要借助 By 來傳入定位方式,需要先引入,主要是為了防止定位方式寫錯。

使用find_element()的好處是方法名不會寫死,定位方式可以通過參數傳遞,在一些框架中使用時會更加靈活一些。

以下是定位方式與 By 中的屬性對應清單:

定位方式 By
id By.ID
name By.NAME
class_name By.CLASS_NAME
tag_name By.TAG_NAME
link_text By.LINK_TEXT
partial_link_text By.PARTIAL_LINK_TEXT
css_selector By.CSS_SELECTOR
xpath By.XPATH

find_element 與 find_elements

每種 find_element()方法,包括find_element_by_id()在查找元素時,如果定位語句不唯一,能夠查到多個函數的話,默認值返回頁面中出現的第一個。也就是說定位不唯一,那得到的元素可能就不是你想要的。

以下是返回的元素對象結果:

<selenium.webdriver.remote.webelement.WebElement (session="8b1282534fe7b0f87743984601b27047", element="2a08389e-3c5f-4c14-be8d-1046f4a53b76")> 

通過 find_elements() 或者find_elements_by_id()注意都多了個 s),將以列表的形式返回所有符合條件的元素。




鏈接:https://www.jianshu.com/p/3daceb968b92


免責聲明!

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



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