Conmutación de iframe de prueba automatizada web

¿Qué es el cambio de iframe? Podemos encontrar la situación de anidar otra página web en una página web durante la prueba de páginas web, como se muestra en la siguiente figura, es un ejemplo de anidamiento ifame

 

 Cómo cambiamos, no te preocupes, hay un método en webdriver, puedes cambiar a iframe

1. 方法 一 : driver.switch_to.frame (iframe_name)

iframe_name: 1. Puede ser el atributo de nombre

Objeto 2.webElement (expresión by.xpth)

3. Valor del subíndice

#iframe switch 
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import unknown_conditions
as EC
from selenium.webdriver.common.by import By

driver = webdriver.Chrome ()
driver.get ("https : //ke.qq.com/ ")

driver.implicitly_wait (30)
driver.find_element_by_id ('js_login'). haga clic en () # Busque el botón de inicio de sesión y haga clic en

loc = (By.XPATH, '// i [@class = "icon-font i-qq"] ')
WebDriverWait (controlador, 10) .until (EC.visibility_of_element_located (loc))
driver.find_element_by_xpath (' // i [@ class = "icon-font i-qq"] ' ) .click () # clickqqlogin

# Operar a la página con iframe, luego encontrar el elemento en el iframe y operar
loc = (By.NAME, "login_frame_qq")
WebDriverWait (driver, 10) .until (EC.visibilidad_de_elemento_ubicado (loc))
driver.switch_to.frame ("login_frame_qq")

driver.find_element_by_id ("switcher_plogin"). haga clic en () # Haga clic en la contraseña de la cuenta para iniciar sesión

方法 二 : frame_to_be_available_and_switch_to_it (iframe_name)

WebDriverWait (controlador, 10) .until (EC.frame_to_be_available_and_switch_to_it ('login_frame_qq'))

  

  

 

Supongo que te gusta

Origin www.cnblogs.com/hherbk/p/12686730.html
Recomendado
Clasificación