#selenium #loops #xpath
Вопрос:
Я пытаюсь подтвердить фильмы, перечисленные на следующий день для конкретного кинотеатра vue (завтра, так как всегда будет полный список фильмов).
до сих пор у меня было
from selenium import webdriver from datetime import datetime from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.chrome.service import Service DRIVER_PATH = '/home/stephen/Desktop/newbots/chromedriver' ser = Service(DRIVER_PATH) op = webdriver.ChromeOptions() driver = webdriver.Chrome(service=ser, options=op) driver.get('https://www.myvue.com/cinema/piccadilly/whats-on') try: acceptCookie = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.ID, "onetrust-accept-btn-handler")) ) print(acceptCookie.text) acceptCookie.click() try: dayblock = WebDriverWait(driver, 20).until( EC.presence_of_element_located((By.ID, "filmlist__filters")) ) print(dayblock.text) day = dayblock.find_element(By.XPATH, '//*[@id="filmlist__filters"]/li[2]/label') print(day.text) day.click() try: filmblock = WebDriverWait(driver, 20).until( EC.presence_of_element_located((By.ID, "filmlist__data")) ) films = filmblock.find_elements(By.XPATH, '//div[2]/div') for film in films: description=film.find_element(By.XPATH, '//p') print(title.text) except: print('nope3') except: print('nope2') except: print('nope')
Первая часть работает, и она загружает список фильмов на следующие дни, но у меня возникли проблемы с получением данных о фильмах. Приведенный выше код неоднократно выводит текст за пределы тега filmlist__data, что для меня не имеет смысла. Я также пробовал xpath с аналогичными результатами. благодарен за любую помощь