merhaba xpathleri yazarken zorlanıyorsanız bu yazdıgım küçük kod ile xpathleri daha kolay yazabileceksiniz. örnek aşğıda
xpath_finder.py dosyası oluştur bunu içnie dahil et
# kolay xpath bulma
def xpath_bul(tag_ismi,text_degeri,ne_yapsın,driver,By):
xpath_ara = driver.find_element(By.XPATH, f"//{tag_ismi}[text()='{text_degeri}']")
if ne_yapsın == "click":
xpath_ara.click()
return xpath_ara
elif ne_yapsın == "get":
return xpath_ara
else:
return "hiç bişey yapılmadı"
#kolay css selector bulma
def selector_bul(data_anahtar,data_text,ne_yapsın,driver,By):
element = driver.find_element(By.CSS_SELECTOR, f"[{data_anahtar}='{data_text}']")
if ne_yapsın == "click":
element.click()
return element
elif ne_yapsın == "get":
return element
else:
return "hiç bişey yapılmadı"
main.py çalişma dosyasınıza üsteki xpath_finder.py import edelim ve kullanalım
from selenium import webdriver
from selenium.webdriver.common.by import By
from xpath_finder import xpath_bul , selector_bul
# WebDriver'ı başlat
driver = webdriver.Chrome()
# örnek bulunacak xpath text değeri.. ve click örnekleri.
bulunan_div_xpath = xpath_bul("div","Çıkış Yap","click",driver,By)
bulunan_span_xpath = xpath_bul("span","Çıkış Yap", "get",driver,By).text
bulunan_img_xpath = xpath_bul("img","Çıkış Yap","click",driver,By)
bulunan_button_xpath = xpath_bul("button","Çıkış Yap","click",driver,By)
#kolay css_selector bul...
bulunan_button_selector = selector_bul("data-clipboard-target","#email", "click",driver,By)