Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengekstrak Maklumat Produk daripada Elemen Shadow-Root Menggunakan Selenium Python?

Bagaimana untuk Mengekstrak Maklumat Produk daripada Elemen Shadow-Root Menggunakan Selenium Python?

Susan Sarandon
Susan Sarandonasal
2024-10-19 06:40:02339semak imbas

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

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:

  1. Akses Shadow-Root: Dapatkan elemen carian impuls dan akses akar bayangnya.
  2. Gunakan shadowRoot.querySelector(): Navigasi dalam shadow-root dan cari elemen yang dikehendaki menggunakan pemilih. Dalam kes ini, ia adalah label produk.

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:

  • Untuk Microsoft Edge dan Google Chrome versi 96, teknik khusus diperlukan untuk mengendalikan akses akar bayang. Rujuk rujukan yang disediakan untuk maklumat lanjut.
  • Rujukan telah disertakan untuk perbincangan dan contoh terperinci.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn