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

如何在Selenium Python中定位HTML结束标签后带==$0的元素?

如何用Selenium Python定位DevTools中标记为==$0的元素

先明确:==$0不是元素属性

==$0只是浏览器开发者工具的选中标记,用来表示你当前在DevTools里选中的元素,它不属于HTML本身的属性,所以没法直接用这个标识写定位器。

解决你的定位失效问题

看你提供的示例HTML:

<div class=""><div>Bengaluru, Karnataka</div></div>

你用//div[@class=""]获取不到文本,是因为这个空class的div是外层容器,它本身没有文本内容,文本存在于它的子div中。

可选解决方案:

  • 直接定位文本所在的子元素
    用XPath定位内层div:

    driver.find_element(By.XPATH, '//div[@class=""]/div').text.strip()
    

    或者通过文本内容精准定位:

    driver.find_element(By.XPATH, '//div[text()="Bengaluru, Karnataka"]').text.strip()
    
  • 先定位外层容器,再获取子元素文本
    如果页面中空class的div唯一,也可以先定位外层,再获取子元素的文本:

    parent_div = driver.find_element(By.XPATH, '//div[@class=""]')
    # 方式1:定位子元素取文本
    child_text = parent_div.find_element(By.TAG_NAME, 'div').text.strip()
    # 方式2:直接取父元素的文本(父元素会包含所有子元素的文本内容)
    child_text = parent_div.text.strip()
    
  • 使用CSS选择器定位
    用CSS选择器同样可以定位到目标元素:

    driver.find_element(By.CSS_SELECTOR, 'div[class=""] > div').text.strip()
    

通用快捷方法

既然==$0是你在DevTools选中的元素,直接从DevTools复制现成的定位器最稳妥:

  1. 在DevTools中选中标记为==$0的元素
  2. 右键点击该元素 → 选择「Copy」→ 「Copy XPath」或「Copy selector」
  3. 将复制的定位器直接替换到你的Selenium代码中即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:05:24