首页 >后端开发 >Python教程 >如何使用 Selenium Python 从影子根元素中提取产品信息?

如何使用 Selenium Python 从影子根元素中提取产品信息?

Susan Sarandon
Susan Sarandon原创
2024-10-19 06:40:02456浏览

How to Extract Product Information from Shadow-Root Elements Using Selenium Python?

使用 Selenium Python 从影子根元素中提取信息

在这篇文章中,我们解决了从网站 https 中提取产品信息的问题://www.tiendasjumbo.co/buscar?q=mani。这些元素被放置在#shadow-root(开放)元素中,使得传统的提取方法无效。

理解 Shadow-Root

Shadow-root 是一种技术用于封装 DOM 元素,将它们隐藏在主 HTML 文档中。要访问影子根中的元素,必须使用特定的影子根定位器。

解决方案:使用 ShadowRoot.querySelector()

要提取产品标签,我们实施以下策略:

  1. 访问 Shadow-Root: 获取脉冲搜索元素并访问其 Shadow-root。
  2. 使用ShadowRoot.querySelector(): 在影子根中导航并使用选择器找到所需的元素。在本例中,它是产品标签。

代码示例:

<code class="python">from selenium import webdriver
from random import randint

driver = webdriver.Firefox(executable_path="C:\Program Files (x86)\geckodriver.exe")
time.sleep(4)

url = "https://www.tiendasjumbo.co/buscar?q=mani"
driver.maximize_window()
driver.get(url)

item = driver.execute_script("return document.querySelector('impulse-search').shadowRoot.querySelector('div.group-name-brand h1.impulse-title span.formatted-text')")
print(item.text)</code>

此代码将打印提供的 URL 的产品标签。

附加说明:

  • 对于 Microsoft Edge 和 Google Chrome 版本 96,需要特定技术来处理影子根访问。请查阅所提供的参考资料以获取更多信息。
  • 已包含详细讨论和示例的参考资料。

以上是如何使用 Selenium Python 从影子根元素中提取产品信息?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn