Я хочу получить информацию о билетах с этого сайта . В настоящее время я получаю устаревшую ошибку при попытке доступа к элементам после перехода на iframe. Я хочу иметь возможность просматривать календарные дни и видеть доступные билеты на разные дни.
Я пытался получить доступ к iframe разными способами, например, используя WebDriverWait().until(EC.frame_to_avaiable_and_switch_to_it()
, а также пытался найти элемент iframe, используя XPATH
, CLASS_NAME
и CSS_SELECTOR
.
def get_available_dates(driver, delay=30):
elm = (By.XPATH, '//iframe')
iframe = WebDriverWait(driver, delay).until(EC.frame_to_be_available_and_switch_to_it(elm))
iframes = driver.find_elements_by_xpath("//iframe")
print len(iframes) #Sometimes this shows 0, 1, or 5
driver.switch_to.frame(iframe) #sometimes throw error
elm = (By.CLASS_NAME, 'CalendarMonth_table.CalendarMonth_table_1')
calendar_table = WebDriverWait(driver, delay).until(EC.presence_of_element_located(elm)) #Throws Timeout Exception or iframe stale error
rows = calendar_table.find_elements_by_tag_name('tr')
print "row cnt: {}".format(len(rows))
print rows
Я добавил ожидаемые результаты и ошибки в качестве комментариев