如何从iFrame索引切换回相对父索引?

2024-06-08 00:11:21 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在(Python)中从iFrame索引切换回相对父级? 我使用此代码,但不适用于我:

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(卡号正常)


Tags: toselfnumberdatebydriverorderbe
2条回答

要从子<iframe>切换回直接父<iframe>,需要使用^{}语句,如下所示:

driver.switch_to.parent_frame()

要从任何子级或子级<iframe>切换回最顶层,即默认内容,您需要使用:

driver.switch_to.default_content()

参考文献

您可以在以下内容中找到一些相关讨论:

我通过使用制表符输入编号来更改代码,但它总是为第二个制表符输入一个编号(输入cvv编号),它只输入7而不是737

WebDriverWait(self.driver, 80).until(
         EC.element_to_be_clickable((By.XPATH, self.order_credit_card_number_text_id))).send_keys(Keys.TAB,'1223', Keys.TAB, '737')
    time.sleep(4)

相关问题 更多 >

    热门问题