Selenium'dan element niteliği nasıl alınır?


89

Python'da Selenium ile çalışıyorum. Ben almak istiyorum .val()a <select>elemanı ve ben beklediğiniz olduğunu kontrol edin.

Bu benim kodum:

def test_chart_renders_from_url(self):
    url = 'http://localhost:8000/analyse/'
    self.browser.get(url)
    org = driver.find_element_by_id('org')
    # Find the value of org?

Bunu nasıl yapabilirim? Selenium belgeleri, öğeleri seçme konusunda bolca var gibi görünüyor, ancak niteliklerle ilgili hiçbir şey yok.


2
selenium-python-docs, 7.11 get_attribute(name) bu işi yapabilir, ancak gerçekten kullandığımı düşünmüyorum. Bi dene!
Abd Azrad

Yanıtlar:


138

Muhtemelen arıyorsun get_attribute(). Burada da bir örnek gösterilmiştir

def test_chart_renders_from_url(self):
    url = 'http://localhost:8000/analyse/'
    self.browser.get(url)
    org = driver.find_element_by_id('org')
    # Find the value of org?
    val = org.get_attribute("attribute name")

49

Python

element.get_attribute("attribute name")

Java

element.getAttribute("attribute name")

Yakut

element.attribute("attribute name")

C #

element.GetAttribute("attribute name");

6

Son gelişmiş gibi Web Uygulamaları kullandığınız JavaScript , jQuery , angularjs , ReactJS vb üzerinden bir öğenin niteliğini almak için bu olasılığı vardır Selenyum Eğer ikna etmek zorunda WebDriverWait senkronize etmek WebDriver düşüklüğü konusunda örneğini Web Client yani Web Tarayıcısı önce özniteliklerden herhangi birini almaya çalışıyor.

Bazı örnekler:

  • Python:

    • Görünür bir öğeden (örneğin <h1>etiket) herhangi bir özniteliği almak için beklenen_şartlarıvisibility_of_element_located(locator) aşağıdaki gibi kullanmanız gerekir :

      attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
      
    • Etkileşimli bir öğeden (örn. <input>Etiket) herhangi bir özniteliği almak için beklenen_şartlarıelement_to_be_clickable(locator) aşağıdaki gibi kullanmanız gerekir :

      attribute_value = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "org"))).get_attribute("attribute_name")
      

HTML Nitelikleri

Aşağıda, HTML'de sıklıkla kullanılan bazı özniteliklerin bir listesi bulunmaktadır

HTML Nitelikleri

Not : Her bir HTML öğesi için tüm özniteliklerin tam listesi şurada listelenir: HTML Öznitelik Referansı

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.