Das Hochladen von Dateien ist eine gängige Funktion in vielen Webanwendungen. Selenium WebDriver bietet eine Möglichkeit, Datei-Uploads mithilfe der sendKeys()-Methode zu verarbeiten.
Der folgende Code zeigt, wie Datei-Uploads mit Selenium WebDriver durchgeführt werden:
<code class="java">WebElement fileInput = driver.findElement(By.name("uploadfile")); fileInput.sendKeys("C:/path/to/file.jpg");</code>
Für die Zamzar-Website sollte der obige Code perfekt funktionieren. Geben Sie einfach den Pfad in das Eingabefeld ein.
Für die Uploadify-Website gibt es eine kleine Änderung. Der Upload-Button ist kein Eingabeelement, sondern ein Flash-Objekt. Da es keine WebDriver-API für die Arbeit mit Flash-Objekten gibt, müssen wir auf einen anderen Ansatz zurückgreifen.
Nach dem Klicken auf das Flash-Element erscheint ein Fenster. Wir können davon ausgehen, dass sich der Cursor in der Eingabe Dateiname befindet. Wenn nicht, navigieren Sie mit Alt N dorthin.
Um den Pfad blind in das Eingabefeld einzugeben, verwenden Sie die Robot-Klasse:
<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>
As Alternativ können Sie den Quellcode der Flash-Anwendung ändern, um interne Methoden mithilfe der ExternalInterface-API verfügbar zu machen. Dadurch kann JavaScript interne Flash-Methoden aufrufen, die dann von WebDriver zum Hochladen der Datei verwendet werden können.
Das obige ist der detaillierte Inhalt vonWie handhabe ich das Hochladen von Dateien in Windows mit Selenium WebDriver?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!