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)

浙公网安备 33010602011771号