Как вернуться с индекса iFrame к относительному родительскому элементу в (Pyhton)? - PullRequest
0 голосов
/ 04 августа 2020

Как вернуться с индекса iFrame к относительному родительскому элементу в (Pyhton)? Я использую этот код, но у меня не работает:

    def type_order_credit_card1_number(self, credit_card_1_number):
    WebDriverWait(self.driver, 80).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[1]')))
    WebDriverWait(self.driver, 80).until(EC.element_to_be_clickable((By.XPATH, self.order_credit_card_number_text_id))).send_keys(credit_card_1_number)

    time.sleep(4)
def type_order_credit_card_expiry_date(self, credit_card_1_expiry_date):

    WebDriverWait(self.driver, 80).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH, '//iframe[2]')))
    WebDriverWait(self.driver, 80).until(
        EC.element_to_be_clickable((By.XPATH, self.order_credit_card_expiry_date_text_id))).send_keys(
        credit_card_1_expiry_date)

Я хочу переключиться с [selectFrame index = 2] на [selectFrame relative = parent], чтобы ввести дату истечения срока действия кредитной карты и CVV (номер карты работает штраф)

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Я изменил свой код, используя TAB для ввода числа, но всегда он вводит одно число для второй вкладки (чтобы ввести номер cvv), он набирает только 7, а не 737!

0 голосов
/ 04 августа 2020

Чтобы переключиться обратно с дочернего <iframe> на непосредственного родителя <iframe>, вам необходимо использовать инструкцию switch_to() следующим образом:

driver.switch_to.parent_frame()

Чтобы переключиться обратно с любого дочернего или внучатого ребенка <iframe> до Самый верхний уровень т.е. содержимое по умолчанию , которое вам нужно использовать:

driver.switch_to.default_content()

Ссылка

Вы можете найти пару соответствующих обсуждений в:

...