Domanda

Sto tentando di caricare un file come allegato e-mail tramite un modulo basato sul Web utilizzando Watir-WebRiver. Il problema in cui sto affrontando è che il codice HTML effettivo legato al pezzo FileInput è nascosto sulla pagina e quindi non può essere interagito con l'uso:

@browser.file_field(:id => "fileInput").set "#{filepath}"

Pagina Codice HTML:

<!--Real Input field, but hidden-->
<input id="fileInput" type="file" value="" name="attachment"></input>
<input id="fileButton" type="button" name="attachment" value="Choose Files"
onclick="document.getElementById('fileInput').click();"></input>

Ora, tutto ciò che è detto, sono in grado di fare clic sul pulsante "Scegli i file" nella pagina che apre la finestra di caricamento del file. Quindi, se non sono in grado di interagire affatto con l'elemento HTML nascosto, come posso usare Ruby per specificare quale file voglio caricare usando quella finestra popup? Win32ole?

È stato utile?

Soluzione

Mi vengono in mente due potenziali soluzioni

uno, utilizzare uno strumento di automazione a livello di sistema operativo come Autoit o Rautomationper interagire con il controllo di selezione dei file a livello di sistema

Due, conferiscono agli sviluppatori della pagina ed eseguono JavaScript per impostare i valori appropriati come se lo strumento di selezione del file fosse stato utilizzato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top