Python Selenium ile class isimlerini toplama

kkank

Hectopat
Katılım
1 Mart 2021
Mesajlar
803
Makaleler
7
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Merhaba;

Örneğin bir div içinde sayısı belli olmayan class'lar var. Bu class isimlerini nasıl toplayabilirim?
 
Örneğin: https://www.hepsiburada.com/gunun-firsati-teklifi adresindeki 3 sütunlu bölümün kodlarını görüyorsunuz. Burada class isimleri aynı ancak değişkenlik gösterdiğini düşünelim. Bana yalnızca bu class isimleri lazım.

1698758914779.png




Hocam çok güzel bulmuşsunuz da ben selenium kullanıyorum. BeutifulSoup bilgim ciddi ciddi 0. Ama o şekilde kontrol edeyim bende bir.
 
Python:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--headless=new")
driver = webdriver.Chrome(options=chrome_options)
driver.get("https://www.hepsiburada.com/gunun-firsati-teklifi")
elements = driver.find_elements(By.XPATH, "/html/body/div[3]/main/div[2]/div/div/div/div/div/div[2]//*")
class_list = [e.get_attribute("class") for e in elements]
print(class_list)
Böyle alabilirsin. Eleman bulunamadı hatası verirse aldanmayıp bitmesini bekle. Küçük bir hatırlatma olarak söylüyorum, önceki konunu başıboş bırakmaya devam edersen raporlamak zorunda kalacağım.
 
Div içindeki tüm elementlerin classlarını toplayacağız sandım bende.
Aslında öyle, ama birini bu şekilde yaptıktan sonra sizin de söylediğiniz gibi döngüye koydum oldu.
class_list = [e.get_attribute("class") for e in elements]
Ayrıca böyle bir kullanım hiç görmemiştim, çok şıkmış. Teşekkür ederim.
 

Technopat Haberler

Yeni konular

Geri
Yukarı