我想创建一个循环,以便我可以从比赛网站上抓取所有八场比赛中每匹马的个人时间数字。
以下是八人第一场比赛 (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,依此类推。
非常感谢任何帮助或建议。
相关分类