抱歉这个可怕的标题。我正在尝试从篮球参考网站创建球员列表(实际页面是 https://www.basketball-reference.com/teams/BOS/2024.html,在名册表中)。
每支球队的球员名单都不同,所以我不想创建一个固定大小的数组。相反,我创建了一个名为players_list的变量,我将用它来获取玩家总数,但当实际使用它并打印出长度时,我总是得到0。
team_selection = driver.find_element_by_xpath('//td/a[contains(text(), "Boston Celtics")]')
driver.execute_script("arguments[0].click()", team_selection)
players_list = driver.find_elements_by_xpath('//tr/td[@data-stat="player"]')
print(len(players_list))
它至少找到了一个元素,但我不知道为什么它应该找到 17 个匹配元素时却总是返回 0 长度。
您可以使用表 id 及其
td
子项://table[@id='roster']/tbody/tr
players_list = driver.find_elements(By.XPATH, "//table[@id='roster']/tbody/tr")
上述示例代码使用最新的selenium命令,find_element_by_*命令已弃用。