web-dev-qa-db-ja.com

Seleniumから要素の属性を取得する方法は?

PythonでSeleniumを使用しています。 <select>要素の.val()を取得して、それが期待どおりであることを確認したいと思います。

これは私のコードです:

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?

これどうやってするの? Seleniumのドキュメントには、要素の選択については豊富にありますが、属性については何もありません。

57
Richard

おそらくget_attribute()を探しています。例が示されています here 同様に

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")
89
Saifur

Python

element.get_attribute("attribute name")

Java

element.getAttribute("attribute name")

ルビー

element.attribute("attribute name")

C#

element.GetAttribute("attribute name");
30
Shubham Jain

最近開発された Web Applications JavaScriptjQueryAngularJSReactJS など Selenium を介して要素の属性を取得する可能性があります WebDriverWait WebDriver インスタンスを遅れている Web Client と同期する Web Browser属性の取得を試みる前。

いくつかの例:

  • Python:

    • visible要素(例:<h1>タグ)から属性を取得するには、 expected_conditions as visibility_of_element_located(locator) 次のように:

      attribute_value = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.ID, "org"))).get_attribute("attribute_name")
      
    • interactive要素(たとえば、<input>タグ)から属性を取得するには、 expected_conditions as element_to_be_clickable(locator) 次のように:

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

HTML属性

以下は、HTMLでよく使用されるいくつかの属性のリストです

HTML Attributes

:各HTML要素のすべての属性の完全なリストは、 HTML属性リファレンス にリストされています。

3
DebanjanB