使用 Selenium 提取 span 文本内容

Posted

技术标签:

【中文标题】使用 Selenium 提取 span 文本内容【英文标题】:Use Selenium to extract span text content 【发布时间】:2022-01-12 20:16:51 【问题描述】:

无法弄清楚如何在 python 脚本中使用 selenium 来提取跨度文本内容:RSB - 12498 从显示的 html 中。请帮忙。谢谢。

<div _ngcontent-pfw-c3="" class="strip_list wow fadeIn animated" style="visibility: visible; animation-name: fadeIn;"><figure _ngcontent-pfw-c3=""><a _ngcontent-pfw-c3="" href="detail-page.html"><img _ngcontent-pfw-c3="" alt="" src="http://via.placeholder.com/565x565.jpg"></a></figure><small _ngcontent-pfw-c3=""><!----><!----><span _ngcontent-pfw-c3=""> RSB - 12498</span>

【问题讨论】:

你能分享一个指向这个元素所在页面的链接吗? 为了唯一正确地定位这个元素,我们需要查看整个页面的 HTML @Prophet search.cac.gov.ng/list 。我正在尝试从随机搜索中抓取 我没有看到 RSB - 12498 甚至 12498 那里 或者我需要在那里搜索一下? 【参考方案1】:

如果您想使用 XPath,定位此类 span 元素的定位器将是 //small/span。 CSS 选择器将是 small span 因此,获取此类单元素文本的 Selenium 命令将是:

goal = driver.find_element_by_css_selector('small span').text
print(goal)

或者

goal = driver.find_element_by_xpath('//small/span').text
print(goal)

如果有多个搜索结果,可以从结果元素列表中接收文本:

elements = driver.find_elements_by_css_selector('small span')
for element in elements:
    print(element.text)

或者

elements = driver.find_elements_by_xpath('//small/span')
for element in elements:
    print(element.text)

【讨论】:

以上是关于使用 Selenium 提取 span 文本内容的主要内容,如果未能解决你的问题,请参考以下文章

PYTHON + SELENIUM(CHROME):如何从当前网址中提取特定文本并使用提取的文本转到另一个文本?

在 Selenium WebDriver 上如何从 Span Tag 中获取文本

使用 chromedriver 查找包含文本 IMG、Java Selenium 的 Spans [重复]

如何使用 Selenium ChromeDriver 从 span 类中获取文本

在selenium中使用xpath查找值大于文本的span

使用 Selenium Webdriver (java) 在 SPAN 标签之间单击文本