Maison  >  Article  >  Java  >  Comment gérer le téléchargement de fichiers sous Windows à l'aide de Selenium WebDriver ?

Comment gérer le téléchargement de fichiers sous Windows à l'aide de Selenium WebDriver ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-01 12:31:29945parcourir

How to Handle File Upload in Windows using Selenium WebDriver?

Téléchargement de fichiers sous Windows à l'aide de Selenium WebDriver

Le téléchargement de fichiers est une fonctionnalité courante dans de nombreuses applications Web. Selenium WebDriver fournit un moyen de gérer les téléchargements de fichiers à l'aide de la méthode sendKeys().

Exemple de code

Le code suivant montre comment gérer le téléchargement de fichiers à l'aide de Selenium WebDriver :

<code class="java">WebElement fileInput = driver.findElement(By.name("uploadfile"));
fileInput.sendKeys("C:/path/to/file.jpg");</code>

Site Web Zamzar

Pour le site Web Zamzar, le code ci-dessus devrait fonctionner parfaitement. Tapez simplement le chemin dans le champ de saisie.

Uploadify Website

Pour le site Web Uploadify, il y a une légère différence. Le bouton de téléchargement n'est pas un élément d'entrée, mais un objet Flash. Puisqu'il n'existe pas d'API WebDriver pour travailler avec des objets Flash, nous devons recourir à une approche différente.

Après avoir cliqué sur l'élément Flash, une fenêtre apparaîtra. Nous pouvons supposer que le curseur se trouve dans l'entrée Nom de fichier. Sinon, utilisez Alt N pour y accéder.

Pour saisir aveuglément le chemin dans le champ de saisie, utilisez la classe Robot :

<code class="java">Robot r = new Robot();
r.keyPress(KeyEvent.VK_C); // C
r.keyRelease(KeyEvent.VK_C);
// ... and so on for the rest of the path
r.keyPress(KeyEvent.VK_ENTER); // Confirm by pressing Enter
r.keyRelease(KeyEvent.VK_ENTER);</code>

Objet Flash

Comme Une alternative consiste à modifier le code source de l'application Flash pour exposer les méthodes internes à l'aide de l'API ExternalInterface. Cela permet à JavaScript d'appeler des méthodes Flash internes, qui peuvent ensuite être utilisées par WebDriver pour effectuer le téléchargement du fichier.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn