¿Python+selenium atraviesa el iframe y encuentra elementos específicos?
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() p>
# 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.