📅  最后修改于: 2023-12-03 14:52:34.390000             🧑  作者: Mango
在 Selenium 中,有不同的方法选择 Web 页面上的元素。其中一种方法是通过元素的文本来选择元素。这种方法非常有用,因为在 Web 页面中通常有很多具有相同标记和属性的元素,但其文本不同。
以下是在 Selenium 中按文本选择元素的一些方法:
通过 Xpath 表达式,在 Selenium 中可以选择具有特定文本的元素。
示例代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# 通过 Xpath 表达式选择元素
element = driver.find_element_by_xpath("//*[contains(text(), 'Example Domain')]")
这将返回第一个包含文本 “Example Domain” 的元素。可以使用类似的表达式来选择其他具有相同文本的元素。
通过 CSS 选择器,也可以在 Selenium 中选择具有特定文本的元素。
示例代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# 通过 CSS 选择器选择元素
element = driver.find_element_by_css_selector(":contains('Example Domain')")
这样就可以选择所有包含文本 “Example Domain” 的元素。
在 Selenium 中,可以使用 link_text 方法选中具有特定文本的链接元素。
示例代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# 通过 link_text 选择元素
element = driver.find_element_by_link_text("More information...")
这将返回指定链接文本 “More information…” 的元素。可以使用相同的方法选择其他具有不同链接文本的元素。
同样地,可以使用 partial_link_text 方法在 Selenium 中选择链接元素。
示例代码:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# 通过 partial_link_text 选择元素
element = driver.find_element_by_partial_link_text("More information")
这将选择所有链接文本中包含 “More information” 的元素。
总结:
以上是使用 Selenium 按文本选择元素的方法。可以根据实际情况选择最适合的方法。在使用 Xpath 和 CSS 选择器时,可以使用不同的表达式。如果要选择链接元素,可以使用 link_text 或 partial_link_text 方法。