1

以下の解決策は、「Selenium webdriver を使用してファイルのアップロードを自動化する方法」に応じて投稿されました。

var Autoit = new AutoItX3();
const string widowTitle = "File Upload";
Autoit.WinWait(widowTitle, "File &name:", 10);
Autoit.ControlSetText(widowTitle, "", "[CLASS:Edit; INSTANCE:1]", pathToFile);
Autoit.ControlClick(widowTitle, "", "[CLASS:Button; INSTANCE:1]");
Autoit.WinWaitClose(widowTitle, "File &name:", 10);

フォローアップの質問: 上記の例では、pathToFile はファイル アップロード ダイアログのパスを更新しません。

他の AutoIt 関数を使用してファイル パスを更新しようとしましたが、無駄でした。これを解決するにはどうすればよいですか?

4

1 に答える 1

1

ファイルをアップロードするには、ファイル入力要素にファイル名を入力します。

import org.openqa.selenium.*
import org.openqa.selenium.firefox.*
import java.util.concurrent.*

driver = new FirefoxDriver()
driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS)
driver.get("http://www.htmlcodetutorial.com/forms/_INPUT_TYPE_FILE.html")
driver.findElementByName("upfile").sendKeys("c:\\temp\\myFile.txt")
driver.findElementByCssSelector("td.content input[type='submit']").click()

ファイル入力フィールドをクリックしないでください。sendKeys を使用するだけです。ファイル選択ダイアログは自動的に処理されます。

于 2012-11-16T06:51:09.767 に答える