Heim > Backend-Entwicklung > Python-Tutorial > Kann EC.presence_of_element_located von Selenium Klassenselektoren anstelle von IDs verwenden?

Kann EC.presence_of_element_located von Selenium Klassenselektoren anstelle von IDs verwenden?

Patricia Arquette
Freigeben: 2024-12-07 15:04:23
Original
958 Leute haben es durchsucht

Can Selenium's EC.presence_of_element_located Use Class Selectors Instead of IDs?

Können Sie Seleniums EC.presence_of_element_located mit einem Klassenselektor anstelle eines ID-Selektors verwenden?

Sie versuchen, Seleniums EC zu verwenden. Die Methode „presence_of_element_located“ wartet darauf, dass ein Element mit der Klasse „ng-binding“ zu „ng-scope“ wird auf einer Webseite vorhanden, aber es funktioniert nicht. Die Fehlermeldung, die Sie erhalten, lautet:

Message: invalid selector: Compound class names not permitted
Nach dem Login kopieren

Dieser Fehler tritt auf, weil EC.presence_of_element_located die Verwendung mehrerer Klassennamen in seinem Selektor nicht unterstützt.

Lösung

Um mit Selenium auf ein Element mit einer bestimmten Klasse zu warten, können Sie den By.CLASS_NAME-Locator verwenden. So können Sie Ihren Code ändern:

element = WebDriverWait(driver, 100).until(EC.presence_of_element_located((By.CLASS_NAME, "ng-binding ng-scope")))
Nach dem Login kopieren

Dieser Code wartet darauf, dass ein Element mit der Klasse ng-binding ng-scope auf der Seite sichtbar wird.

Zusätzlich Hinweise

In einigen Fällen müssen Sie möglicherweise stattdessen auch die Methode EC.visibility_of_element_located verwenden EC.presence_of_element_located. Diese Methode wartet darauf, dass das Element nicht nur vorhanden, sondern auch auf der Seite sichtbar wird.

Das obige ist der detaillierte Inhalt vonKann EC.presence_of_element_located von Selenium Klassenselektoren anstelle von IDs verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage