【问题标题】:How do I retrieve text from a text node in Selenium如何从 Selenium 中的文本节点检索文本
【发布时间】:2021-08-15 11:09:48
【问题描述】:

所以,基本上我想从站点获取文本并将其打印到控制台。 这是 HTML sn-p:

<div class="inc-vat">
   <p class="price">
        <span class="smaller currency-symbol">£</span>
        1,500.00
        <span class="vat-text">&nbsp;inc. vat</span>    
   </p>
</div>

这是 DOM 属性的图像:

我将如何检索“1,500.00”?我曾尝试使用self.browser.find_element_by_xpath('//*[@id="main-content"]/div/div[3]/div[1]/div[1]/text()'),但这会引发一个错误,上面写着 xpath 表达式的结果是:[object Text]。它应该是一个元素。我还使用了其他方法,例如 .text,但它们要么只打印“£”符号,要么打印空白,要么抛出相同的错误。

【问题讨论】:

  • 试试这个 - browser.find_element_by_xpath("xpath for &lt;p&gt;").get_attribute("innerText")
  • 查看上面的链接,是否解决了您的问题?
  • @cruisepandey pmadhu 提供的答案就是解决方案。
  • @noobcode0000 :你需要学会接受帮助你解决问题的答案,我昨天给了你一个解决方案,你还没有承认我。看这里stackoverflow.com/questions/68778959/…

标签: python-3.x selenium selenium-webdriver


【解决方案1】:

你可以使用下面的css:

p.price

示例代码:-

elem = driver.find_element_by_css_selector("p.price").text.split(' ')[1]
print(elem)

【讨论】:

    猜你喜欢
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2021-03-05
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    相关资源
    最近更新 更多