Я делаю парсер, чтобы очистить сайт ставок на предмет его данных. Это пример кода, который будет очищать событие, команды и коэффициенты. Идея состоит в том, чтобы перебрать все соревнования, доступные для данного вида спорта. Я могу найти ссылки и щелкнуть по первой, затем я также могу очистить данные и вернуть их в виде списка (для последующего размещения в базе данных). Моя проблема в том, что я не могу вернуться на предыдущую страницу, чтобы щелкнуть следующую ссылку, я получаю сообщение об ошибке при попытке сделать это . Вот мой код:
driver = webdriver.Chrome(Path)
driver.get("https://www.neds.com.au/sports/table-tennis/")
a = []
links = driver.find_elements_by_class_name("matches-filter__link")
for l in links:
l.click()
tt_matches = driver.find_elements_by_class_name("sport-event-card")
for match in tt_matches:
Match = match.find_element_by_css_selector(".sports-event-title__name-text").text
a.append(Match)
Teams = match.find_elements_by_css_selector(".price-button")
for team in Teams:
team_name = team.find_element_by_css_selector(".price-button-name").text
team_odd = team.find_element_by_css_selector(".price-button-odds-price span").text
a.append(team_name)
a.append(team_odd)
driver.back()
time.sleep(2)
driver.quit()
, и он возвращает эту ошибку:
поднять класс исключения (сообщение, экран, трассировка стека)
StaleElementReferenceException: ссылка на устаревший элемент: элемент не прикреплен к документу страницы (Информация о сеансе: chrome = 84.0.4147.105)
Как я могу это исправить, я думаю, проблема связана с driver.back (), я также пробовал l.back (), и он все еще не работает.