Heim >Backend-Entwicklung >Python-Tutorial >Selenium: „text' vs. „get_attribute('innerHTML') – Welche Methode sollte ich verwenden?
Unterschied zwischen Text und innerHTML mit Selenium
In Selenium gibt es zwei Methoden, mit denen Sie Inhalte aus einem Element abrufen können: .text und .get_attribute("innerHTML"). Obwohl sie ähnlich erscheinen mögen, gibt es deutliche Unterschiede zwischen den beiden.
get_attribute("innerHTML")
.get_attribute("innerHTML") ruft den inneren HTML-Code von ab ein Element, einschließlich aller darin enthaltenen Tags und Textinhalte. Diese Methode versucht, den Eigenschaftswert mit dem angegebenen Namen abzurufen. Wenn dieser nicht gefunden wird, gibt sie den Attributwert mit demselben Namen zurück. Wenn weder eine Eigenschaft noch ein Attribut vorhanden ist, wird None zurückgegeben. Wahrheitswerte (gleich wahr oder falsch) werden als boolesche Werte zurückgegeben, während alle anderen Nicht-Keine-Werte als Zeichenfolgen zurückgegeben werden.
Text
.text, auf der Ruft dagegen nur den sichtbaren Text eines Elements ab. Es ignoriert alle HTML-Tags oder andere Nicht-Text-Inhalte.
Attribute vs. Eigenschaften
Um den Unterschied besser zu verstehen, ist es wichtig, den Unterschied zwischen Attributen und Eigenschaften zu kennen HTML. Wenn der Browser HTML analysiert, erstellt er DOM-Objekte aus den Tags. Standard-HTML-Attribute werden automatisch in Eigenschaften dieser DOM-Objekte umgewandelt. Auf nicht standardmäßige Attribute kann jedoch weiterhin nur über die Methode .get_attribute() zugegriffen werden.
Wann sollte innerHTML verwendet werden?
Verwenden Sie .get_attribute("innerHTML") bei Bedarf um den gesamten HTML-Inhalt innerhalb eines Elements zu erfassen, einschließlich Tags und aller eingebetteten Skripte oder CSS. Dies ist nützlich, um komplexe Inhalte zu extrahieren.
Wann Text verwendet werden sollte
Verwenden Sie .text, wenn Sie nur am sichtbaren Textinhalt eines Elements interessiert sind, ohne jeglichen HTML-Tags. Dies wird häufig verwendet, um vom Benutzer eingegebenen Text abzurufen oder auf dem Bildschirm anzuzeigen.
Das obige ist der detaillierte Inhalt vonSelenium: „text' vs. „get_attribute('innerHTML') – Welche Methode sollte ich verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!