merhaba arkadaşlar kendi projelerimde kullandıgımda basitleştirilmiş örnek basit bir kütüphane paylaşmak istedim xpath ararken zorlanmamak için sizler için basitleştirlmiş versiyununu paylaşiyorum.

seleniumBasic.py :
class SeleniumBasic:
    # Bu fonksiyon, belirli bir metni içeren <button> (buton) HTML elementini bulmak için kullanılır.
    # Örneğin, sayfadaki bir buton üzerinde "Giriş Yap" yazıyorsa, bu butonu bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.button_text("Giriş Yap"))
    @staticmethod
    def button_text(text):
        return f"//button[text()='{text}']"
    
    # Bu fonksiyon, belirli bir class ismini içeren <button> elementini bulmak için kullanılır.
    # Örneğin, "btn-primary" class'ına sahip bir butonu bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.button_class("btn-primary"))
    @staticmethod
    def button_class(class_name):
        return f"//button[contains(@class, '{class_name}')]"
    
    # Bu fonksiyon, belirli bir metni içeren <span> HTML elementini bulmak için kullanılır.
    # Örneğin, bir <span> etiketi içinde "Hoşgeldiniz" yazısı varsa, bu elementi bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.span_text("Hoşgeldiniz"))
    @staticmethod
    def span_text(text):
        return f"//span[text()='{text}']"
    
    # Bu fonksiyon, belirli bir class ismine sahip <span> HTML elementini bulmak için kullanılır.
    # Örneğin, "highlight" class'ına sahip bir <span> etiketini bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.span_class("highlight"))
    @staticmethod
    def span_class(class_name):
        return f"//span[contains(@class, '{class_name}')]"
    
    # Bu fonksiyon, belirli bir metni içeren <div> HTML elementini bulmak için kullanılır.
    # Örneğin, "Bu bir duyurudur" yazısını içeren bir <div> bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.div_text("Bu bir duyurudur"))
    @staticmethod
    def div_text(text):
        return f"//div[text()='{text}']"
    
    # Bu fonksiyon, belirli bir class ismini içeren <div> HTML elementini bulmak için kullanılır.
    # Örneğin, "container" class'ına sahip bir <div> elementini bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.div_class("container"))
    @staticmethod
    def div_class(class_name):
        return f"//div[contains(@class, '{class_name}')]"
    
    # Bu fonksiyon, belirli bir placeholder (yer tutucu) özelliğine sahip bir <input> elementini bulmak için kullanılır.
    # Örneğin, "Kullanıcı Adı" placeholder değerine sahip bir input kutusunu bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.input_placeholder("Kullanıcı Adı"))
    @staticmethod
    def input_placeholder(placeholder):
        return f"//input[@placeholder='{placeholder}']"
    
    # Bu fonksiyon, belirli bir name (isim) özelliğine sahip bir <input> elementini bulmak için kullanılır.
    # Örneğin, "username" isminde bir input alanını bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.input_name("username"))
    @staticmethod
    def input_name(name):
        return f"//input[@name='{name}']"
    
    # Bu fonksiyon, belirli bir type (tip) özelliğine sahip bir <input> elementini bulmak için kullanılır.
    # Örneğin, bir şifre alanını bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.input_type("password"))
    @staticmethod
    def input_type(type_):
        return f"//input[@type='{type_}']"
    
    # Bu fonksiyon, belirli bir id özelliğine sahip bir <input> elementini bulmak için kullanılır.
    # Örneğin, "email_input" id'sine sahip bir input kutusunu bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.input_id("email_input"))
    @staticmethod
    def input_id(input_id):
        return f"//input[@id='{input_id}']"
    
    # Bu fonksiyon, belirli bir metni içeren bir <a> (bağlantı) elementini bulmak için kullanılır.
    # Örneğin, "Anasayfa" yazısına sahip bir linki bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.link_text("Anasayfa"))
    @staticmethod
    def link_text(text):
        return f"//a[text()='{text}']"
    
    # Bu fonksiyon, belirli bir href (bağlantı adresi) özelliğine sahip bir <a> (bağlantı) elementini bulmak için kullanılır.
    # Örneğin, "/iletisim" adresine yönlendiren bir bağlantıyı bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.link_href("/iletisim"))
    @staticmethod
    def link_href(href):
        return f"//a[@href='{href}']"
    
    # Bu fonksiyon, belirli bir metni içeren bir <p> (paragraf) elementini bulmak için kullanılır.
    # Örneğin, "Bu bir örnek metindir." içeren bir paragrafı bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.paragraph_text("Bu bir örnek metindir."))
    @staticmethod
    def paragraph_text(text):
        return f"//p[text()='{text}']"
    
    # Bu fonksiyon, belirli bir başlık seviyesine (h1, h2, h3 vb.) ve metne sahip bir başlık (heading) elementini bulmak için kullanılır.
    # Örneğin, h2 seviyesinde "Ürünlerimiz" yazısına sahip bir başlığı bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.heading_text(2, "Ürünlerimiz"))
    @staticmethod
    def heading_text(level, text):
        return f"//h{level}[text()='{text}']"
    
    # Bu fonksiyon, belirli bir alt metnine (alt attribute) sahip bir <img> (resim) elementini bulmak için kullanılır.
    # Örneğin, "Logo" alt metnine sahip bir resmi bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.img_alt("Logo"))
    @staticmethod
    def img_alt(alt_text):
        return f"//img[@alt='{alt_text}']"
    
    # Bu fonksiyon, belirli bir kaynak (src) adresine sahip bir <img> (resim) elementini bulmak için kullanılır.
    # Örneğin, "/resimler/logo.png" adresindeki bir resmi bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.img_src("/resimler/logo.png"))
    @staticmethod
    def img_src(src):
        return f"//img[@src='{src}']"
    
    # Bu fonksiyon, belirli bir değere sahip <option> elementini bulmak için kullanılır.
    # Örneğin, "tr" değerine sahip bir <option> elementini bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.select_option("tr"))
    @staticmethod
    def select_option(value):
        return f"//select/option[@value='{value}']"
    
    # Bu fonksiyon, belirli bir name (isim) özelliğine sahip <select> elementini bulmak için kullanılır.
    # Örneğin, "ülke" ismindeki bir dropdown menüsünü bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.select_name("ülke"))
    @staticmethod
    def select_name(name):
        return f"//select[@name='{name}']"
    
    # Bu fonksiyon, belirli bir name (isim) özelliğine sahip checkbox (onay kutusu) elementini bulmak için kullanılır.
    # Örneğin, "sozlesme" isminde bir onay kutusunu bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.checkbox_name("sozlesme"))
    @staticmethod
    def checkbox_name(name):
        return f"//input[@type='checkbox' and @name='{name}']"
    
    # Bu fonksiyon, belirli bir name (isim) özelliğine sahip radio button (seçim kutusu) elementini bulmak için kullanılır.
    # Örneğin, "cinsiyet" isminde bir radio button'ı bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.radio_name("cinsiyet"))
    @staticmethod
    def radio_name(name):
        return f"//input[@type='radio' and @name='{name}']"
    
    # Bu fonksiyon, belirtilen HTML etiketi, özellik adı ve değerine sahip bir elementi bulmak için kullanılır.
    # Örneğin, "id" özelliği "menu" olan bir <div> elementini bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.attribute_value("div", "id", "menu"))
    @staticmethod
    def attribute_value(tag, attribute, value):
        return f"//{tag}[@{attribute}='{value}']"
    
    # Bu fonksiyon, belirli bir class ismini içeren herhangi bir HTML elementini bulmak için kullanılır.
    # Örneğin, "navbar" class'ına sahip herhangi bir elementi bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.class_name("navbar"))
    @staticmethod
    def class_name(class_name):
        return f"//*[contains(@class, '{class_name}')]"
    
    # Bu fonksiyon, belirli bir data-attribute (veri özelliği) ve değerine sahip bir elementi bulmak için kullanılır.
    # Örneğin, "data-id" özelliği "123" olan bir elementi bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.data_attribute("id", "123"))
    @staticmethod
    def data_attribute(data_attribute, value):
        return f"//*[@data-{data_attribute}='{value}']"
    
    # Bu fonksiyon, belirli bir title (başlık) özelliğine sahip bir elementi bulmak için kullanılır.
    # Örneğin, title özelliği "Kullanıcı Profil" olan bir elementi bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.title_attribute("Kullanıcı Profil"))
    @staticmethod
    def title_attribute(title):
        return f"//*[@title='{title}']"
    
    # Bu fonksiyon, belirli bir aria-label özelliğine sahip bir elementi bulmak için kullanılır.
    # Örneğin, "Giriş Yap" aria-label'ına sahip bir butonu bulmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.aria_label("Giriş Yap"))
    @staticmethod
    def aria_label(label):
        return f"//*[@aria-label='{label}']"
    
    # Bu fonksiyon, kullanıcı tarafından özel olarak belirtilen bir XPath ifadesini kullanmak için kullanılır.
    # Örneğin, özel bir XPath ifadesini doğrudan çalıştırmak için:
    # driver.find_element(By.XPATH, SeleniumBasic.custom_xpath("//div[@id='menu']"))
    @staticmethod
    def custom_xpath(xpath):
        return xpath

    # Bu fonksiyon, verilen XPath ile bir iframe içerisine geçiş yapmak için kullanılır.
    # Örneğin, //iframe[@id='frame1'] XPath'ine sahip bir iframe'e geçiş yapmak için:
    # SeleniumBasic.switch_to_iframe_by_xpath(driver, "//iframe[@id='frame1']")
    @staticmethod
    def switch_to_iframe_by_xpath(driver, iframe_xpath):
        iframe = driver.find_element(By.XPATH, iframe_xpath)
        return driver.switch_to.frame(iframe)

    # Bu fonksiyon, iframe'den çıkıp ana sayfaya geri dönmek için kullanılır.
    @staticmethod
    def switch_to_default_content(driver):
        return driver.switch_to.default_content()
Örnek kullanimi

import seleniumBasic

button_xpath = SeleniumBasic.button_text("KABUL ET")
button_class_xpath = SeleniumBasic.button_class("btn-primary")
span_xpath = SeleniumBasic.span_text("Örnek Metin")
span_class_xpath = SeleniumBasic.span_class("highlight")
div_xpath = SeleniumBasic.div_text("Başlık")
div_class_xpath = SeleniumBasic.div_class("container")
input_placeholder_xpath = SeleniumBasic.input_placeholder("Arama")
input_name_xpath = SeleniumBasic.input_name("username")
input_type_xpath = SeleniumBasic.input_type("email")
input_id_xpath = SeleniumBasic.input_id("password")
link_xpath = SeleniumBasic.link_text("Buraya Tıklayın")
link_href_xpath = SeleniumBasic.link_href("https://www.example.com")
paragraph_xpath = SeleniumBasic.paragraph_text("Bu bir paragraf.")
heading_xpath = SeleniumBasic.heading_text(2, "Başlık 2")
img_alt_xpath = SeleniumBasic.img_alt("Resim Açıklaması")
img_src_xpath = SeleniumBasic.img_src("resim.jpg")
select_option_xpath = SeleniumBasic.select_option("option1")
select_name_xpath = SeleniumBasic.select_name("select1")
checkbox_name_xpath = SeleniumBasic.checkbox_name("subscribe")
radio_name_xpath = SeleniumBasic.radio_name("gender")
attribute_xpath = SeleniumBasic.attribute_value("div", "class", "container")
class_name_xpath = SeleniumBasic.class_name("btn");
data_attr_xpath = SeleniumBasic.data_attribute("custom", "value");
title_attr_xpath = SeleniumBasic.title_attribute("Başlık");
aria_label_xpath = SeleniumBasic.aria_label("Yardımcı metin");
iframe_gecis_xpath = SeleniumBasic.switch_to_iframe_by_xpath(driver,"iframenin xpath kodunu  gir")
iframeden_cik = SeleniumBasic.switch_to_default_content(driver)

# XPath'leri yazdırma
print("Button Xpath:", button_xpath)
print("Button Class Xpath:", button_class_xpath)
print("Span Xpath:", span_xpath)
print("Span Class Xpath:", span_class_xpath)
print("Div Xpath:", div_xpath)
print("Div Class Xpath:", div_class_xpath)
print("Input Placeholder Xpath:", input_placeholder_xpath)
print("Input Name Xpath:", input_name_xpath)
print("Input Type Xpath:", input_type_xpath)
print("Input ID Xpath:", input_id_xpath)
print("Link Xpath:", link_xpath)
print("Link Href Xpath:", link_href_xpath)
print("Paragraph Xpath:", paragraph_xpath)
print("Heading Xpath:", heading_xpath)
print("Image Alt Xpath:", img_alt_xpath)
print("Image Src Xpath:", img_src_xpath)
print("Select Option Xpath:", select_option_xpath)
print("Select Name Xpath:", select_name_xpath)
print("Checkbox Name Xpath:", checkbox_name_xpath)
print("Radio Name Xpath:", radio_name_xpath)
print("Attribute Value Xpath:", attribute_xpath)
print("Class Name Xpath:", class_name_xpath)
print("Data Attribute Xpath:", data_attr_xpath)
print("Title Attribute Xpath:", title_attr_xpath)
print("Aria Label Xpath:", aria_label_xpath)