使用Autoit在使用硒時處理文件上傳窗口。按照以下步驟。
1)下載Autoit並安裝。
2)然後將下面的代碼寫在記事本中。將以下代碼中的文件路徑更改爲您嘗試從selenium腳本上傳的文件路徑。將其另存爲uploadhandler.au3
。請注意,擴展名應該是au3。
WinActivate("Choose file");
Local $file = "c:\yourpath\howtoupload.doc"
ControlSetText("Choose file", "", "Edit1", $file)
ControlClick("Choose file", "", "Button2")
3)右鍵單擊該保存的腳本文件並從上下文菜單中單擊「編譯腳本」。這將生成uploadhandler.exe
文件。
4)將這個uploadhandler.exe文件放在你的本地驅動器中,並在你需要使用下面的代碼上傳文件的任何地方在你的selenium-java代碼中運行這個exe文件。
Process proc = Runtime.getRuntime().exec("C:\\path for your exe file\\uploadhandler.exe");
例如: -
driver.findelement(byid("browse")).click();
Process proc = Runtime.getRuntime().exec("C:\\path for your exe file\\uploadhandler.exe");
//rest of your selenium code continues here.
我試圖UR code.WebElement點擊=(driver.findElement(By.id( 「bckBlack」))); \t click.click(); \t嘗試{ \t \t \t過程proc等於調用Runtime.getRuntime()EXEC(「C:\\用戶\\ f.gandhi.mohanam \\ seleniumworkspace \\ uploaderhandler。exe文件「); \t \t}趕上(IOException的發送){ \t \t \t // TODO自動生成的catch程序塊 \t \t \t e.printStackTrace(); \t \t} \t \t driver.manage()超時().implicitlyWait(10L,TimeUnit.SECONDS); \t \t driver.findElement(By.xpath(「// * [@ id ='save']」))。click(); – Feroze 2013-03-27 05:53:13