Невозможно получить доступ к iframe в python selenium, получить устаревшую ошибку - PullRequest
0 голосов
/ 30 июня 2019

Я хочу получить информацию о билетах с этого сайта . В настоящее время я получаю устаревшую ошибку при попытке доступа к элементам после перехода на 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

Я добавил ожидаемые результаты и ошибки в качестве комментариев

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...