Думаю, было бы проще просто позвонить в службу и получить все данные в формате json. Однако для этого может потребоваться повар ie. Я пытался использовать селен для очистки заголовка таблицы и строк -
driver.get('https://www.strava.com/clubs/roosevelt-island-dc-parkrun-215283')
#Find the Search Button and return all search results
table_headers =[]
for items in driver.find_elements_by_xpath("//div[@class='leaderboard']/table/thead//th"):
table_headers.append(items.text)
print(table_headers)
table_rows = []
myrow = []
totalrows = len(driver.find_elements_by_xpath("//div[@class='leaderboard']/table/tbody//tr"))
for i in range(totalrows):
myrow.clear()
for items in driver.find_elements_by_xpath("//div[@class='leaderboard']/table/tbody//tr["+str(i+1)+"]/td"):
myrow.append(items.text)
table_rows.append(myrow)
print(myrow)
print(table_rows)
driver.quit()
Вывод:
['Rank', 'Athlete', 'Distance', 'Runs', 'Longest', 'Avg. Pace', 'Elev. Gain']
['1', 'Chi H.', '86.3 km', '8', '42.2 km', '7:37 /km', '528 m']
['2', 'Lokesh M.', '47.5 km', '4', '13.2 km', '5:28 /km', '1,046 m']
['3', 'Sarah Reese B.', '47.5 km', '9', '12.8 km', '4:45 /km', '168 m']
['4', 'SP R.', '46.2 km', '3', '20.2 km', '4:40 /km', '128 m']
['5', 'Sharada P.', '41.4 km', '4', '12.4 km', '8:46 /km', '--']