ファイル アップロードは、多くの Web アプリケーションで一般的な機能です。 Selenium WebDriver は、sendKeys() メソッドを使用してファイルのアップロードを処理する方法を提供します。
次のコードは、Selenium WebDriver を使用してファイルのアップロードを処理する方法を示しています。
<code class="java">WebElement fileInput = driver.findElement(By.name("uploadfile")); fileInput.sendKeys("C:/path/to/file.jpg");</code>
Zamzar Web サイトの場合、上記のコードは完全に機能するはずです。入力フィールドにパスを入力するだけです。
Web サイトのアップロードについては、少し工夫があります。アップロード ボタンは入力要素ではなく、Flash オブジェクトです。 Flash オブジェクトを操作するための WebDriver API がないため、別のアプローチに頼る必要があります。
Flash 要素をクリックすると、ウィンドウが表示されます。カーソルがファイル名入力にあると想定できます。そうでない場合は、Alt N を使用してそこに移動します。
入力フィールドにパスを盲目的に入力するには、ロボット クラスを使用します:
<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代わりに、Flash アプリケーションのソース コードを変更して、ExternalInterface API を使用して内部メソッドを公開することを検討してください。これにより、JavaScript が内部 Flash メソッドを呼び出すことができるようになり、WebDriver はこのメソッドを使用してファイルのアップロードを実行できるようになります。
以上がSelenium WebDriver を使用して Windows でファイルのアップロードを処理する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。