2017-02-17 4 views
0

Gibt es eine Möglichkeit, alle Informationen über ein Webelement zu drucken?Python Selenium - Informationen über das Webelement abrufen

Wenn ich einen Druck auf einem Web-Element aufrufen, die ich über find_element_by_css_selector() abgerufen habe, bekomme ich die interne ID und eine andere Referenznummer, aber nicht alle Eigenschaften.

Zum Beispiel möchte ich den Klassennamen, die Quelle und alt wissen, wenn es ein Bild ist; das Etikett, wenn es eine Schaltfläche und so weiter ist.

Ich habe get_attribute() verwendet; aber das ist nutzlos, wenn Sie den Namen des Attributs nicht kennen; es wird nur leer zurückgegeben, wenn das Attribut nicht existiert, und ich muss ein Element überprüfen, um zu wissen, welche Attribute es hat.

Gibt es eine Möglichkeit, diese Attribute vom Webelement zu erhalten?

Antwort

0

Sie können nicht direkt, müssen Sie Javascript ausführen. Siehe Selenium webdriver get all the data attributes of an element.

In Python, es ist wie:

>>> el = browser.find_element_by_id('my_element') 
>>> attrs = browser.execute_script("var items = {}; for (index=0; index<arguments[0].attributes.length;++index) {items[arguments[0].attributes[index].name] = arguments[0].attributes[index].value }; return items;", el) 
>>> print attrs 
{'class': 'my_class', 'name': 'foobar'} 
Verwandte Themen