1. 程式人生 > 其它 >Selenium 常見控制元件定位方法

Selenium 常見控制元件定位方法

HTML知識鋪墊

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>測試人論壇</title>
</head>
<body>
<a href="https://ceshiren.com/" class="link">連結</a>
</body>
</html>
  • 標籤:<a>
  • 屬性:href
  • 類屬性: class

Selenium定位方式

Selenium提供了八種定位方式:https://www.selenium.dev/documentation/webdriver/elements/locators/

方式 描述
class name class 屬性對應的值
css selector(重點) css 表示式
id(重點) id 屬性對應的值
name(重點) name 屬性對應的值
link text 查詢其可見文字與搜尋值匹配的錨元素
partial link text 查詢其可見文字包含搜尋值的錨元素。如果多個元素匹配,則只會選擇第一個元素。
tag name 標籤名稱
xpath(重點) xpath表示式

 

selenium 常用定位方式

#格式: 
driver.find_element_by_定位方式(定位元素)
driver.find_element(By.定位方式, 定位元素) 
# 示例,兩種方式作用一模一樣
# 官方建議使用下面的方式
driver.find_element_by_id("su")
driver.find_element(By.ID, "su") 

實戰:

def open_browser():
    driver = webdriver.Chrome()

    driver.get('https://vip.ceshiren.com/#/ui_study')
    #id定位
    id_item = driver.find_element(By.ID,"locate_id")
    print(id_item)
    #name定位
    name_item = driver.find_element(By.NAME,"locate")
    print(name_item)
    # CSS選擇器定位
    css_item = driver.find_element(By.CSS_SELECTOR, "#locate_id")
    print(css_item)
    #xpath定位
    xpath_item = driver.find_element(By.XPATH,'//*[@id="locate_id"]')
    print(xpath_item)


    #通過連結文字的方式:元素一定是a標籤,輸入的元素為標籤內的文字
    link_text = driver.find_element(By.LINK_TEXT,"元素定位")
    print(link_text)
    time.sleep(2)