在 python 中使用 selenium 创建一个用于网页抓取的循环

我想创建一个循环,以便我可以从比赛网站上抓取所有八场比赛中每匹马的个人时间数字。


以下是八人第一场比赛 (17:15) 的示例:


from selenium import webdriver


from selenium.webdriver.common.by import By


from selenium.webdriver.support import expected_conditions


from selenium.webdriver.support.ui import WebDriverWait


url = 'http://www.attheraces.com/racecard/Wolverhampton/6-October-2018/1715'


driver = webdriver.Chrome()


driver.get(url)


driver.implicitly_wait(2)


driver.find_element_by_xpath('//*[@id="racecard-tabs 1061960"]/div[1]/div/div[1]/ul/li[2]/a').click()


WebDriverWait(driver, 5).until(expected_conditions.presence_of_element_located((By.XPATH, '//*[@id="tab-racecard-sectional-times"]/div/div[1]/div[1]/div[2]/div/button')))

下一场比赛 (17:45) 将具有以下网址:


url = 'http://www.attheraces.com/racecard/Wolverhampton/6-October-2018/1745'

并且下面代码中的 id 会随着 url 不断变化


driver.find_element_by_xpath('//*[@id="racecard-tabs 1061961"]/div[1]/div/div[1]/ul/li[2]/a').click()

所以对于 17:15,racecard-tabs 变成 1061960


对于 17:45,racecard-tabs 变为 1061961


18:15,raecard-tabs变成1061963,依此类推。


非常感谢任何帮助或建议。


喵喵时光机
浏览 269回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python