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

Python Selenium如何定位指定父div下的特定class类子div

问题原因

你编写的XPath表达式以//开头,该语法代表从整个HTML文档的根节点开始匹配元素,和你调用查找方法的父元素范围无关,因此会返回页面内所有符合class="title"条件的元素。

解决方法

将XPath开头替换为.//,其中.代表当前你已经选中的父节点(也就是你先定位到的RightColumn容器),就可以把搜索范围限制在该父节点的后代节点内。

修正后的代码如下:

mainDIV = driver.find_element_by_id("RightColumn")
targetDIV = mainDIV.find_element_by_xpath('.//*[@class="title"]').text

补充说明

如果对应title元素可能同时存在多个类名,你可以使用contains语法做模糊匹配,避免类名顺序或多余类名导致匹配失败:

targetDIV = mainDIV.find_element_by_xpath('.//*[contains(@class, "title")]').text

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:27:06