Mengekstrak Maklumat daripada Elemen Shadow-Root Menggunakan Selenium Python
Dalam siaran ini, kami menangani isu mengekstrak maklumat produk daripada laman web https ://www.tiendasjumbo.co/buscar?q=mani. Unsur-unsur ini diletakkan dalam elemen #shadow-root (open), menjadikan kaedah pengekstrakan konvensional tidak berkesan.
Memahami Shadow-Root
Shadow-root ialah satu teknik digunakan untuk merangkum elemen DOM, menyembunyikannya daripada dokumen HTML utama. Untuk mengakses elemen dalam akar bayang, pencari akar bayang tertentu mesti digunakan.
Penyelesaian: Menggunakan ShadowRoot.querySelector()
Untuk mengekstrak label produk, kami melaksanakan strategi berikut:
Contoh Kod:
<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>
Kod ini akan mencetak label produk untuk URL yang disediakan.
Nota Tambahan:
Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Maklumat Produk daripada Elemen Shadow-Root Menggunakan Selenium Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!