“for”循环内的“if-else”级联 - python 中意外的循环中断[关闭]

问题描述 投票:0回答:1

archivo_encontrado
None
时,for循环被破坏。我收到以下消息:

Abriendo URL: https://XYZ.es/tr/drl/objectId/0900b93688428aaa (Celda: K585)
1
2
3
4
5
6
None
No se encontr� el archivo 'DK-00001-JVA-AMT-LTR-00002' en el directorio 'C:\Users\jorge\Documentum\Viewed'.

我期望在这种情况下循环会继续下一个 url。

我的代码:

for url_value in url_values:
    print(f"Abriendo URL: {url_value[0]} (Celda: {url_value[1]})")
    try:
        # Abrir una nueva pestaña
        driver.execute_script("window.open()")
        print ("1")
        # Cambiar al nuevo controlador de ventana
        driver.switch_to.window(driver.window_handles[-1])
        print ("2")
        # Ir a la URL actual
        driver.get(url_value[0])
        print ("3")
        probar_y_clickear_boton(driver, nombre_boton)
        # Esperar 3 segundos
        time.sleep(3)
        print ("4")
        # Después de driver.get(url_value[0])
        print ("5")
        driver.close()
        print ("6")
        # Cambiar el controlador a la ventana anterior
        driver.switch_to.window(driver.window_handles[0])
        # Encontrar archivo
        archivo_encontrado = encontrar_archivo(file_directory, url_value[3])
        print (archivo_encontrado)
        if archivo_encontrado:
            # Si se encuentra el archivo
            if cerrar_procesos_abiertos():
                # Si se cierran los procesos abiertos exitosamente
                print("Procesos abiertos cerrados exitosamente.")
                if cambiar_estatus_solo_lectura(archivo_encontrado):
                    # Si se cambia exitosamente el estado de solo lectura del archivo
                    print("Estado de solo lectura del archivo cambiado exitosamente.")
                    if copiar_archivo(archivo_encontrado, final_folder_directory):
                        # Si se copia exitosamente el archivo a la nueva ubicación
                        print("Archivo copiado exitosamente.")
                        if eliminar_archivo_con_reintento(archivo_encontrado):
                            # Si se elimina exitosamente el archivo del directorio original
                            print(f"Archivo '{archivo_encontrado}' eliminado correctamente.")
                        else:
                            print("No se pudo eliminar el archivo del directorio original.")
                    else:
                        print("No se pudo copiar el archivo a la nueva ubicación.")
                else:
                    print("No se pudo cambiar el estado de solo lectura del archivo.")
            else:
                print("No se pudieron cerrar los procesos abiertos.")
        else:
            print(f"No se encontró el archivo '{url_value[3]}' en el directorio '{file_directory}'.")
    except Exception as e:
        print(f"Error al procesar la URL {url_valu

我试图为 chromedriver 中加载的每个 url 触发一系列函数的执行。当其中一个函数返回

None
而不是留在循环内并加载新 url 时,循环就会被破坏。

python loops for-loop if-statement
1个回答
0
投票

如果在“else”后面添加“继续”: print(f"No se encontró el archivo '{url_value[3]}' en eldirectio '{file_directory}'.")",即使出现“None”,问题也会在循环中得到解决。希望这有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.