Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Python+selenium atraviesa el iframe y encuentra elementos específicos?

¿Python+selenium atraviesa el iframe y encuentra elementos específicos?

Cuando usamos Python + Selenium, para los elementos contenidos en el iframe, primero debemos cambiar al iframe antes de poder encontrar los elementos que contiene. webdriver.support.ui importar WebDriverWait

desde selenium.webdriver.support importar condiciones_esperadas como EC

driver = webdriver.Chrome() # Inicie el navegador Chrome

# Abra la página web a probar

driver.switch_to.frame(iframe)

intente:

# Espere a que se complete el elemento a encontrar cargando

elemento = WebDriverWait(driver, 10).until(<

EC.presence_of_element_located((By. ID. 'element_id')).ID, 'element_id'))

)

# Su código lógico, como obtener el contenido de texto del elemento

print(element.text)

excepto:

# Si no se encuentra el elemento, continúa con el siguiente iframe

continuar

# Volver al iframe principal o al marco del documento principal

driver.switch_to.default_content()

# Cerrar el navegador

driver.quit()

# Cerrar el navegador. quit()

``

En el código anterior, primero usamos el método find_elements() para encontrar todos los elementos del iframe y los recorre en secuencia, y luego usamos switch_to.frame () método para cambiar al iframe actual. A continuación, usamos el método WebDriverWait() para esperar a que se cargue el elemento que se va a encontrar, y usamos el método presencia_of_element_located() para especificar el método de búsqueda del elemento que se va a encontrar (aquí usamos el elemento con la identificación "element_id "). Consulte los comentarios para el resto del código lógico. El resto del código lógico se explicará en los comentarios. Finalmente, use el método switch_to.default_content() para regresar al marco del documento principal o al iframe principal.