首頁  >  文章  >  後端開發  >  如何使用 Selenium Python 從影子根元素中提取產品資訊?

如何使用 Selenium Python 從影子根元素中提取產品資訊?

Susan Sarandon
Susan Sarandon原創
2024-10-19 06:40:02339瀏覽

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