📅  最后修改于: 2023-12-03 15:34:04.254000             🧑  作者: Mango
当需要在Web应用程序中定位具有特定文本的元素时, 可以使用Python的Selenium库。通过使用Selenium WebDriver对象,可以使用一组内置方法来查找元素。
下面介绍一些按文本查找元素的方法:
link_text方法可以用来查找带有指定链接文本的<a>
标签,如下所示:
from selenium import webdriver
driver = webdriver.Chrome()
# 访问网站
driver.get('http://www.example.com/')
# 查找链接元素
element = driver.find_element_by_link_text('Sign in')
在上面的代码中, driver.find_element_by_link_text('Sign in')
语句查找页面中文本为“Sign in”的链接元素,并将其存储在变量element
中。
有时链接文本可能比较长,我们不一定需要操作它的全部文本,可以使用partial_link_text方法来查找链接的一部分文本:
from selenium import webdriver
driver = webdriver.Chrome()
# 访问网站
driver.get('http://www.example.com/')
# 查找带有指定文本的链接元素
element = driver.find_element_by_partial_link_text('Sign')
在上述代码中,driver.find_element_by_partial_link_text('Sign')
语句查找页面中链接文本中包含“Sign”的链接元素并将其存储在变量element
中。
XPath是一种用于在XML和HTML文档中查找信息的语言。使用XPath表达式,可以搜索特定文本的元素。
以下是使用XPath表达式在元素中查找文本的方法:
from selenium import webdriver
driver = webdriver.Chrome()
# 访问网站
driver.get('http://www.example.com/')
# 查找带有指定文本的元素
element = driver.find_element_by_xpath("//*[contains(text(), 'Sign in')]")
在上面的代码中,driver.find_element_by_xpath("//*[contains(text(), 'Sign in')]")
语句查找页面中所有包含“Sign in”的元素并将其存储到变量element
中。
css_selector是一种用于选择元素的字符串模式。可以使用它来查找页面上带有指定文本的元素。
以下是使用css_selector查找元素的方法:
from selenium import webdriver
driver = webdriver.Chrome()
# 访问网站
driver.get('http://www.example.com/')
# 查找带有指定文本的元素
element = driver.find_element_by_css_selector("a[href*='login']")
在上面的代码中,driver.find_element_by_css_selector("a[href*='login']")
语句查找所有包含“login”文本的链接元素,并将其存储在变量element
中。
以上就是按文本查找元素的方法,这些方法都很实用,可以为Web应用程序测试提供便利。