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

如何在Selenium中定位该元素?无ID/NAME且不擅长使用XPath

问题描述

目标元素截图
我找不到这个元素的ID或NAME属性,不知道怎么用Selenium定位它,尝试过找name和id都没成功,也不太会用xpath。

定位方案(不用复杂Xpath也能搞定)

  • 按元素文本定位:如果这个元素有显示的固定文本,用简单的Xpath文本匹配就行,比如元素文本是"提交":
    driver.find_element(By.XPATH, "//*[text()='提交']")
    
    文本不全或者有空格的话,用包含匹配:
    driver.find_element(By.XPATH, "//*[contains(text(),'提')]")
    
  • 按class属性定位:查看元素的class属性,如果有唯一的class值,直接用Class定位:
    driver.find_element(By.CLASS_NAME, "btn-submit")
    
    要是class有多个值,用CSS选择器组合:
    driver.find_element(By.CSS_SELECTOR, ".btn.btn-primary")
    
  • 按标签+属性组合定位:比如元素是input标签,有type或value属性,用CSS或者简单Xpath:
    # CSS选择器
    driver.find_element(By.CSS_SELECTOR, "input[type='button']")
    # 简单Xpath
    driver.find_element(By.XPATH, "//input[@value='点击']")
    
  • 按父元素层级定位:如果这个元素的父元素有可定位的属性(比如ID),可以基于父元素找子元素:
    driver.find_element(By.XPATH, "//div[@id='form-container']//button")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 21:22:31