使用 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 [重复]