如何用Python Selenium通过父div的XPath获取内部span与p元素的XPath
解决方案
假设你已经确定了父div的XPath(比如示例中的//div[@class='col-md-6 profile-card_col']),可以通过以下方式直接定位它的子元素<span>和<p>:
定位元素
直接在父XPath后追加子元素标签名,因为它是div的直接子元素:
# 先定义父div的XPath parent_xpath = "//div[@class='col-md-6 profile-card_col']" # 拼接span的XPath span_xpath = f"{parent_xpath}/span" # Selenium定位元素 span_element = driver.find_element(By.XPATH, span_xpath)
如果需要明确是父div下的第一个span子元素(避免页面中有多个span的情况),可以加上索引:
span_xpath = f"{parent_xpath}/span[1]"
定位
元素
同理,直接追加p标签名即可:
p_xpath = f"{parent_xpath}/p" # 或者指定第一个p子元素 p_xpath = f"{parent_xpath}/p[1]" p_element = driver.find_element(By.XPATH, p_xpath)
通用定位(不依赖子元素标签名)
如果连子元素的标签类型都不确定,只知道它们在父div中的位置,可以用通配符加索引定位:
# 父div下的第一个子元素(对应示例中的span) first_child_xpath = f"{parent_xpath}/*[1]" # 父div下的第二个子元素(对应示例中的p) second_child_xpath = f"{parent_xpath}/*[2]"
内容的提问来源于stack exchange,提问作者user20753874
相关产品推荐
相关产品推荐

