📜  Python Selenium – 按文本查找元素(1)

📅  最后修改于: 2023-12-03 15:34:04.254000             🧑  作者: Mango

Python Selenium – 按文本查找元素

当需要在Web应用程序中定位具有特定文本的元素时, 可以使用Python的Selenium库。通过使用Selenium WebDriver对象,可以使用一组内置方法来查找元素。

下面介绍一些按文本查找元素的方法:

1.通过link_text查找链接元素

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中。

2.通过partial_link_text查找链接元素

有时链接文本可能比较长,我们不一定需要操作它的全部文本,可以使用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中。

3.通过xpath查找元素

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中。

4.通过css_selector查找元素

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应用程序测试提供便利。