Estoy haciendo una automatización de selenio en python y encontré un problema. Para cargar un archivo, necesito la etiqueta de entrada, pero solo se activa cuando hago clic en el botón "Cargar", este mismo botón abre una ventana separada que no se puede administrar a través de Selenium (o al menos de la forma en que lo he intentado). Cuando close() el controlador, permanecen abiertos. Necesito subir varios archivos, pero esta ventana bloquea la interacción con el navegador, por lo que el controlador deja de funcionar.
Quizás alguna forma de activar el campo de entrada sin abrir la pestaña.
esta es la ventana

He intentado usar teclas para alt F4 la ventana
He intentado cerrar todo con .close()
Intenté no hacer clic en el botón para que la ventana no se abra, pero la etiqueta de entrada no está allí a menos que haga clic.
Esta es una idea, me funcionó con un solo archivo, tal vez te funcione a ti o te inspire con nuevas ideas. Prueba esto: Primero, necesitas tu camino.
home_path = os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir))En segundo lugar, necesita la ruta de su imagen y nombre. Digamos por ejemplo una lista como esta:
file_details = ["dir_name", "file_name.jpg"]Luego, escribes una función:
def upload_file(self, file_name): self.find_element(*LOCATOR_OF_INPUT).send_keys(file_name)Y por último, llamas a esta función:
upload_file(os.path.join(home_path, os.path.join(*file_details)))Básicamente, no hace clic en la entrada, en su lugar, está "enviando" un archivo a la entrada.
Mucha suerte, espero que te ayude.