Ottenere l'errore "Messaggio: riferimento elemento obsoleto: l'elemento non è allegato al documento della pagina". Cosa sto facendo di sbagliato
Aug 19 2020
connections=driver.find_elements_by_css_selector("a span[class='mn-connection-card__name t-16 t-black t-bold']")
print(len(connections))
for connection in connections:
if connection.text == "XXX":
connection.click()
break
Ricevo il seguente errore nell'istruzione if:
riferimento elemento obsoleto: l'elemento non è allegato al documento della pagina
Risposte
1 rahulrai Aug 19 2020 at 22:02
L'eccezione dell'elemento obsoleto si verifica quando le proprietà dell'elemento su cui lo script sta cercando di eseguire alcune operazioni vengono modificate. Se desideri fare clic su un intervallo con il testo "XXX", puoi fare clic direttamente su quello:
WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "//a[span[text()='XXX']]")))
Se la tua esigenza è di scorrere tutti questi elementi, allora:
connections=driver.find_elements_by_css_selector("a span[class='mn-connection-card__name t-16 t-black t-bold']")
print(len(connections))
for i in range(len(connections)):
connections=driver.find_elements_by_css_selector("a span[class='mn-connection-card__name t-16 t-black t-bold']") #Created Fresh element list, so it wont be stale
if connections[i].text == "XXX"
connections[i].click
break