首页 > 解决方案 > 如何使用 Selenium 从父节点中提取文本,不包括子节点中的文本

问题描述

我正在尝试获取 div 的文本,而不获取子跨度的文本,这是我的 html:

  <div class="Travel">
  
    <!--ko text: marketName-->Résultat<!--/ko-->

    <span class="label">Cities</span>

  </div>

我想得到Résultat,相反我得到Résultat Cities

这是我尝试过的:

//div[@class='Travel']//text()

标签: seleniumselenium-webdriverxpathcss-selectorswebdriver

解决方案


对于 Python 使用这个 -

直接 div 文本 -

driver.find_element_by_xpath('//div[@class="Travel"]').text()

通过 span 标签的 Div 文本 -

driver.find_element_by_xpath('//span[text()="Cities"])/parent::div').text()

对于 Java 使用这个 -

直接 div 文本 -

driver.findElements(By.xpath('//div[@class="Travel"]')).getText();

通过 span 标签的 Div 文本 -

driver.findElements(By.xpath('//span[text()="Cities"])/parent::div')).getText();


推荐阅读