Selenium 常見控制元件定位方法
阿新 • • 發佈:2022-05-31
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)