You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中使用Selenium选择伪元素并点击指定元素?

如何点击仅伪元素文本不同的“Practical”元素?

目标网站的HTML代码片段

这两个元素除伪元素中的文本外,其余属性完全相同。请问是否有办法点击“Practical”元素?我尝试了以下方法但均无效:

driver.find_element(By.XPATH, "//div[contains(text(),'Practical')]").click()
driver.find_element(By.XPATH, "//div[@class='v-tab']")[1].click()

可行解决方法

  • 借助JavaScript定位伪元素文本:伪元素的文本不属于DOM节点内容,XPath无法直接匹配,可通过JavaScript获取元素伪元素的样式内容来定位:
practical_element = driver.execute_script("""
return Array.from(document.querySelectorAll('.v-tab')).find(el => 
  window.getComputedStyle(el, ':after').content.includes('Practical')
);
""")
practical_element.click()
  • 修正XPath索引定位:XPath中节点索引从1开始,之前的[1]对应第一个元素,目标是第二个的话要改为[2]:
driver.find_element(By.XPATH, "(//div[@class='v-tab'])[2]").click()
  • 等待元素可交互后点击:如果点击无效是因为元素未加载或被遮挡,可先等待元素处于可交互状态:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
practical_tab = wait.until(EC.element_to_be_clickable((By.XPATH, "(//div[@class='v-tab'])[2]")))
practical_tab.click()

内容的提问来源于stack exchange,提问作者gabethechef

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:46:09