Selenium 返回一个空列表

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

我刚开始使用 Selenium,并且在使其正常运行时遇到困难。我的目标是检索 Betclic 主页上的所有投注。

这是我的脚本:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time


service = Service()
options = webdriver.ChromeOptions()
driver = webdriver.Chrome(service=service, options=options)
driver.get("http://www.betclic.fr/")


time.sleep(5)
driver.find_element("css selector", "#popin_tc_privacy_button_2").click()


wait = WebDriverWait(driver, 20)

 
try:
    paris = WebDriverWait (driver, 10).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "cardEvent")))
    for pari in paris:
        equipe_a = pari.find_elements(By.XPATH, "./html/body/app-desktop/div[1]/div/bcdk-content-scroller/div/sports-home-page/sports-home/sports-carousel/div/div/ul/div[1]/sports-events-event/a/div/scoreboards-scoreboard/scoreboards-scoreboard-global/div/div[1]/div")
        equipe_b = pari.find_elements(By.XPATH,"./html/body/app-desktop/div[1]/div/bcdk-content-scroller/div/sports-home-page/sports-home/sports-carousel/div/div/ul/div[1]/sports-events-event/a/div/scoreboards-scoreboard/scoreboards-scoreboard-global/div/div[3]/div")
        cote_a = pari.find_elements(By.XPATH,"./html/body/app-desktop/div[1]/div/bcdk-content-scroller/div/sports-home-page/sports-home/sports-carousel/div/div/ul/div[1]/sports-events-event/a/sports-events-event-markets-v2/sports-markets-default-v2/div/div/button[1]/span[2]")
        cote_nul = pari.find_elements(By.XPATH,"./html/body/app-desktop/div[1]/div/bcdk-content-scroller/div/sports-home-page/sports-home/sports-carousel/div/div/ul/div[1]/sports-events-event/a/sports-events-event-markets-v2/sports-markets-default-v2/div/div/button[2]/span[2]")
        cote_b = pari.find_elements(By.XPATH,"./html/body/app-desktop/div[1]/div/bcdk-content-scroller/div/sports-home-page/sports-home/sports-carousel/div/div/ul/div[1]/sports-events-event/a/sports-events-event-markets-v2/sports-markets-default-v2/div/div/button[3]/span[2]")
        print(equipe_a, equipe_b, cote_a, cote_b, cote_nul)
except TimeoutError:
    print("Les éléments ne sont pas visibles ou n'ont pas été trouvés.")


while True:
    pass

我的脚本返回此输出:

[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []

它似乎与主页上的投注数量相关。

我知道它可能与 find_elements 方法(无论是 element 还是 elements)有关,也可能与 .text 问题有关。

我进行了广泛的搜索,但没有一个解决方案对我有用......

python selenium-webdriver web-scraping
1个回答
-1
投票

我的问题可能看起来很愚蠢,但我真的需要关于这个问题的帮助!

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