Python Selenium ile odaklanılan elementin alt satırını alma

kkank

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

Kaynakta, yeri değişebilen ve kendine ait bir CSS değeri olmayan bir yazı var. Ancak hiç değişmeyen bir şey var ki: öncesinde ki resim. O resme odaklandıktan sonra "alt satırdaki yazıyı al" gibi bir komut var mı?
 
CSS + kullanabilirsiniz. Yazının bir paragraf p elementi olduğunu varsayıyorum.
Python:
yazi = driver.find_element(By.CSS_SELECTOR, "img.RESIMCLASSNAME+p")
print(yazi.text)
 
Aslında amacım kendi spor ekranı gibi bir sistemimi kurmak istiyorum. Öğrenmek için gayet eğlenceli bir örnek gibi geldi.

1698760962797.png

Burada ki işaretli satır hiç bir ara classa dahil değil. Tüm elementi seçersem bütün satırın yazısını alıyor. Ayrıca istediğim gibi başarılı bir sondan kesme yapamıyorum (kanal ismi çok çeşitli değişebildiği için ne kelime filtreleyebiliyorum, ne karakter sayısı). Birden fazla kanal bile olabiliyor. O yüzden benim direk o kısmı almam lazım. Önündeki resmi seçtikten sonra "sonrasındaki yazıyı seç" gibi bir komut aradım ancak bulamadım.

CSS + kullanabilirsiniz. Yazının bir paragraf p elementi olduğunu varsayıyorum.
Python:
yazi = driver.find_element(By.CSS_SELECTOR, "img.RESIMCLASSNAME+p")
print(yazi.text)

Burada sizin önerinizi nasıl uyarlayacağımı da bilmiyorum. Ne yapmam lazım?
 
Aslında amacım kendi spor ekranı gibi bir sistemimi kurmak istiyorum. Öğrenmek için gayet eğlenceli bir örnek gibi geldi.

Eki Görüntüle 1997827
Burada ki işaretli satır hiç bir ara classa dahil değil. Tüm elementi seçersem bütün satırın yazısını alıyor. Ayrıca istediğim gibi başarılı bir sondan kesme yapamıyorum (kanal ismi çok çeşitli değişebildiği için ne kelime filtreleyebiliyorum, ne karakter sayısı). Birden fazla kanal bile olabiliyor. O yüzden benim direk o kısmı almam lazım. Önündeki resmi seçtikten sonra "sonrasındaki yazıyı seç" gibi bir komut aradım ancak bulamadım.



Burada sizin önerinizi nasıl uyarlayacağımı da bilmiyorum. Ne yapmam lazım?
Bunun için benim yazdığım yeterli olmayacaktır. Alt satırdaki yazının etrafında bir element olduğunu varsayarak yapmıştım. Sitenin linkini atarsanız kendim bir şeyler deneyip yardımcı olmaya çalışırım. .text denediğinizde tüm elementlerle beraber alıyor değil mi?
 
Örneğin bu:

Evet text alınca hepsini alıyor ve ayıramıyorum.
 
Örneğin bu:

Evet text alınca hepsini alıyor ve ayıramıyorum.
Css Selector olarak bunu deneyebilr misin?

[title~='Tv']")

Elementi çektikten sonra, selenium'dan bir sonraki elemente geçip veriyi temizleyip değeri alabilirsin.

Tarayıcı üstünden ise şöyle deneyebilirsin konsolu açıp:

document.querySelector("[title~='Tv']").nextSibling.nodeValue.replace(/^\s+|\s+$/gm,'');
 

Technopat Haberler

Yeni konular

Geri
Yukarı