Selenium中By类的应用实例
发布时间:2024-01-07 15:23:17
Selenium是一个广泛应用在Web自动化测试中的工具,它提供了一系列的API,方便我们定位和操作Web页面上的元素。而By类则是Selenium中用于定位元素的常用类之一,它提供了多种定位元素的方式,包括id、name、class name、tag name、link text、partial link text、css selector和xpath等。
下面是By类的一些常用方法及应用实例。
1. By.id:通过元素的id属性定位元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位搜索框元素
search_box = driver.find_element(By.ID, 'kw')
# 输入关键字
search_box.send_keys('Selenium')
# 提交搜索表单
search_box.submit()
2. By.name:通过元素的name属性定位元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位搜索按钮元素
search_button = driver.find_element(By.NAME, 'wd')
# 点击搜索按钮
search_button.click()
3. By.class_name:通过元素的class属性定位元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位搜索框元素
search_box = driver.find_element(By.CLASS_NAME, 's_ipt')
# 输入关键字
search_box.send_keys('Selenium')
# 提交搜索表单
search_box.submit()
4. By.tag_name:通过元素的标签名定位元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位所有链接元素
links = driver.find_elements(By.TAG_NAME, 'a')
# 打印链接的文本
for link in links:
print(link.text)
5. By.link_text:通过链接文本内容定位链接元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位链接文本为"新闻"的链接元素
news_link = driver.find_element(By.LINK_TEXT, '新闻')
# 点击链接
news_link.click()
6. By.partial_link_text:通过链接的部分文本内容定位链接元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位链接文本中包含"文库"的链接元素
wenku_link = driver.find_element(By.PARTIAL_LINK_TEXT, '文库')
# 点击链接
wenku_link.click()
7. By.css_selector:通过CSS选择器定位元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位搜索框元素
search_box = driver.find_element(By.CSS_SELECTOR, 'input[id="kw"]')
# 输入关键字
search_box.send_keys('Selenium')
# 提交搜索表单
search_box.submit()
8. By.xpath:通过元素的xpath定位元素。
from selenium import webdriver
from selenium.webdriver.common.by import By
# 启动浏览器
driver = webdriver.Chrome()
# 打开网页
driver.get('https://www.baidu.com')
# 定位搜索框元素
search_box = driver.find_element(By.XPATH, '//input[@id="kw"]')
# 输入关键字
search_box.send_keys('Selenium')
# 提交搜索表单
search_box.submit()
总结:在Selenium中,使用By类的定位方法可以灵活地定位Web页面上的元素,根据元素的不同属性和特征选择合适的定位方式。通过By类的应用实例,我们可以更好地理解和掌握Selenium中的定位技术。
