使用 Selenium Python 从影子根元素中提取信息
在这篇文章中,我们解决了从网站 https 中提取产品信息的问题://www.tiendasjumbo.co/buscar?q=mani。这些元素被放置在#shadow-root(开放)元素中,使得传统的提取方法无效。
理解 Shadow-Root
Shadow-root 是一种技术用于封装 DOM 元素,将它们隐藏在主 HTML 文档中。要访问影子根中的元素,必须使用特定的影子根定位器。
解决方案:使用 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 的产品标签。
附加说明:
以上是如何使用 Selenium Python 从影子根元素中提取产品信息?的详细内容。更多信息请关注PHP中文网其他相关文章!