爬虫过程中,我想查找ul下的多个li中带有特定文本的那一个li,获取li的路径。以此实现查找带有特定文本的控件。请问用driver.find_element如何实现?

爬虫过程中,我想查找ul下的多个li中带有特定文本的那一个li,获取li的路径。以此实现查找带有特定文本的控件。请问用driver.find_element如何实现?
我现有代码如下:

driver.find_element(By.XPATH, "//*[contains(text(),'" + “张三”+ "')]/parent::li").click()
阅读 2.3k
1 个回答
from selenium import webdriver

driver = webdriver.Chrome()  # 初始化WebDriver

# 加载页面
driver.get('http://example.com')

# 找到ul元素
ul_element = driver.find_element_by_xpath('//ul')

# 找到包含特定文本的li元素
specific_text = '特定文本'
li_element = ul_element.find_element_by_xpath(f'.//li[contains(text(), "{specific_text}")]')

# 获取li元素的路径
li_path = driver.execute_script("return arguments[0].getPath();", li_element)

print("找到的li元素路径:", li_path)

driver.quit()  # 关闭WebDriver
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题