Selenium 常见控件定位方法


HTML知识铺垫





测试人论坛


链接

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)