在前端,有些文本是可以點擊並跳轉至指定頁面的,我們稱之為“超鏈接”。
這種超鏈接用<a></a>定義,且<a> 標簽的 href 屬性用於指定超鏈接目標的 URL。
在python中,有兩種定位超鏈接元素的方法:
方法1:精確定位。
精確定位的方法:find_element_by_link_text()
def find_element_by_link_text(self, link_text): """ Finds an element by link text. :Args: - link_text: The text of the element to be found. :Returns: - WebElement - the element if it was found :Raises: - NoSuchElementException - if the element wasn't found :Usage: element = driver.find_element_by_link_text('Sign In') """ return self.find_element(by=By.LINK_TEXT, value=link_text)
精確定位方法中,必須填寫完整的超鏈接文本內容。
參數link_text:完整的超鏈接文本內容。
返回值:如果找到元素,則返回WebElement對象。否則,拋出NoSuchElementException異常。
用法舉例:element = driver.find_element_by_link_text("標簽文本")
方法2:部分定位
部分定位的方法:find_element_by_partial_link_text()
def find_element_by_partial_link_text(self, link_text): """ Finds an element by a partial match of its link text. :Args: - link_text: The text of the element to partially match on. :Returns: - WebElement - the element if it was found :Raises: - NoSuchElementException - if the element wasn't found :Usage: element = driver.find_element_by_partial_link_text('Sign') """ return self.find_element(by=By.PARTIAL_LINK_TEXT, value=link_text)
我們可以看到,部分定位只需要填寫超鏈接元素的部分文本內容。
需要我們注意的是:部分文本是必須相連的,即是全部文本的一個子部分。如整體文本為“百度文案”,那么部分
的文本定位“度案”則是錯誤的,是無法定位到的。
拓展:selenium中,八種定位方式最終都是通過調用find_element(by, value)方法
