Scrappnig strony internetowej

0

Witam,
mam pytanie, robię scrappinig strony i np. podgląd na wynik mam taki

print(driver.find_element(By.XPATH, f'//*[@id="root"]/div[1]/div[2]/form/div[5]/div/div[2]/div[2]/a/div/div/div[2]/div[1]/p').text)

jak uruchomiłem kod dostałem tekst ze strony, za chwilę jeszcze raz uruchomiłem bez żadnych zmian i dostałem

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="root"]/div[1]/div[2]/form/div[5]/div/div[2]/div[2]/a/div/div/div[2]/div[1]/p"}

i już nie działa, to nie jedyna rzecz.. co chwile robię czyszczenie cash w Chrome. Włosy już z głowy sobie wyrywam i zaraz będę łysy ;). Czy może ktoś mi pomóc i wyjaśnić co to za cudo i co z tym zrobić? Bardzo dziękuję :D

1

Możliwe, że element zmienia się jakoś dynamicznie ew coś jest renderowane przez js.

Ogólnie sposób w jaki szukasz elementów też jest słaby, bo taki selektory są totalnie nie stabilne. Nie musisz dochodzić do elementu po każdym elemencie kolejno.

Wystarczy coś takiego container/twoj element. Reszta to metoda prób i błędów czy też dostosowanie zagnieżdżeń.

0
ledi12 napisał(a):

Możliwe, że element zmienia się jakoś dynamicznie ew coś jest renderowane przez js.

Ogólnie sposób w jaki szukasz elementów też jest słaby, bo taki selektory są totalnie nie stabilne. Nie musisz dochodzić do elementu po każdym elemencie kolejno.

Wystarczy coś takiego container/twoj element. Reszta to metoda prób i błędów czy też dostosowanie zagnieżdżeń.

Thx za pomoc :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1