Python Automated Test Series [v1.0.0] [Procesando iframe]

Si hay un iframe en la página, entonces no podemos ubicar directamente el elemento de la página debajo del nodo del iframe. Primero tenemos que cambiar al iframe y luego colocar el elemento de la página en el iframe. Si cambiamos al iframe, no podemos ubicarlo. Para los elementos fuera del iframe, debe cambiar para ubicar los elementos fuera del iframe.
Después de pasar por la encapsulación de varias operaciones anteriores, la encapsulación de iframe es mucho más simple. A continuación, el autor presentará el método encapsulado y cómo llamarlo.

Método de encapsulación

def switch_to_iframe(self, frame):
    """
    用于切换进页面的iframe控件
    :param iframe:
    :return:
    """
    self.driver.switch_to.frame(frame)
def switch_to_default_content(self):
    """
    从iframe中切换回主页页面
    :return:
    """
    self.driver.switch_to.default_content()

Llamada al método

def test_switch_iframe(self):  # 定义测试方法
    chrome_driver = webdriver.Chrome()
    chrome_driver.get("https://mail.163.com")
    time.sleep(10)
    frame = chrome_driver.find_element_by_xpath("//*[@id='loginDiv']/iframe")
    # 调用封装好的方法切换进iframe控件
    Browser_Controller(chrome_driver).switch_to_iframe(frame)  
    time.sleep(5)
    chrome_driver.find_element_by_name("email").send_keys("邮箱账号")
    chrome_driver.find_element_by_name("password").send_keys("邮箱密码")
    chrome_driver.find_element_by_id("dologin").click()

231 artículos originales publicados · 188 elogiados · 120,000 visitas

Supongo que te gusta

Origin blog.csdn.net/dawei_yang000000/article/details/105648554
Recomendado
Clasificación