使用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中文網其他相關文章!