find_elements_by_xpath 查找列表中未添加的现有元素

问题描述 投票:0回答:1

抱歉这个可怕的标题。我正在尝试从篮球参考网站创建球员列表(实际页面是 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 长度。

python selenium-webdriver xpath
1个回答
0
投票

您可以使用表 id 及其

td
子项:
//table[@id='roster']/tbody/tr

players_list = driver.find_elements(By.XPATH, "//table[@id='roster']/tbody/tr")

上述示例代码使用最新的selenium命令,find_element_by_*命令已弃用。

© www.soinside.com 2019 - 2024. All rights reserved.