Selenium Python Elemente finden durch klasse finden?

sonderdings  23.02.2023, 16:03

Dann könntest du das ja angeben, z.B.

gefundene_elemente = driver.find_element_by_class_name("...")
button = gefundene_elemente[7]
Trebor938 
Fragesteller
 23.02.2023, 16:07

dann aber doch

gefundene_elemente = driver.find_elements_by_class_name("...")

oder? muss ich die danach printen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Statt nur nach einer Klasse zu suchen, wäre es sicherlich besser, einen komplexen Selektor zu nutzen, der Elternelemente mit einbezieht.

Beispiel:

<div class="container-1">
  <button class="button">Click me</button>
</div>
<div class="container-2">
  <button class="button">Click me</button>
</div>
<div class="container-3">
  <button class="button">Click me</button>
</div>

In diesem Auszug gibt es drei Buttons mit jeweils derselben Klasse. Man kann die Suche allerdings anhand des Elternelements eingrenzen.

first_button = driver.find_element(By.CSS_SELECTOR, ".container-1 .button")