【问题标题】:Use Selenium to extract span text content使用 Selenium 提取 span 文本内容
【发布时间】: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 那里
  • 或者我需要在那里搜索一下?

标签: python html css selenium web


【解决方案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)

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 2020-05-25
    • 2021-09-10
    • 2017-12-31
    • 1970-01-01
    相关资源
    最近更新 更多