python爬虫selenium

https://www.cbaleague.com/data/#/leaders
就是我用如下代码

from selenium import webdriver
import time
from selenium.webdriver.common.by import By

# 创建浏览器对象
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(options=options)

# 访问网站
driver.get('https://www.cbaleague.com/data/#/leaders')
time.sleep(5)

# 获取所有球员的中文名称
players = driver.find_elements(By.CSS_SELECTOR, '.data-table-column-value-hover')

for player in players:
    print(player.text)

# 关闭浏览器
driver.quit()


只能获取该网页的第二列人名数据,但实际上我想要这第一页的所有数据(但是他每一列的数据都在class-data-table-column-value-hover里头,我不知道怎么样做区分好让代码知道我要的是所有的而不是第一个匹配项。当然,我的想法可能本来就不对o(╥﹏╥)o)麻烦修改以下我的思路 或者改下代码,谢谢

我修改了下代码:

from selenium import webdriver
import time
from selenium.webdriver.common.by import By

# 创建浏览器对象
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = webdriver.Chrome(options=options)

# 访问网站
driver.get('https://www.cbaleague.com/data/#/leaders')
time.sleep(5)

# 获取表格
table_element = driver.find_element(By.CSS_SELECTOR, 'div.table-list')
# 获取表格的每一列
cols = table_element.find_elements(By.CSS_SELECTOR, 'div.data-table-column')

# 输出每一列的TEXT
for col in cols:
    print(col.text)

# 输出第二列的TEXT
print("第二列为:")
print(cols[1].text)


# 关闭浏览器
driver.quit()


  • 以下回答由chatgpt基于相关博客总结生成:

    我需要更加详细的信息,包括你的代码、需求和期望的输出结果,才能为您提供具体的解决方案。参考资料中提供了一些关于使用Selenium的建议和技巧,您可以先阅读参考资料,更好地理解并解决您的问题。如果您需要进一步帮助,请提供更多详细信息。