2016-05-30 56 views
0

我有一個小問題 - 我不知道如何選擇文件並在Mozilla OpenFileDialog中打開它。從OpenFileDialog中選擇一個文件用C#

首先,我通過點擊「瀏覽」硒打開對話框,然後我想放在一個文件名(我知道通過環境變量的確切位置)

在我的情況:Environment.GetEnvironmentVariable( 「Testplatz_Config_Location」)+「\ TestConfig.fpc」

所以我的問題,有誰知道如何處理已經打開的OpenFileDialog使用C#或者是否有可能用Selenium來處理?

enter image description here

回答

0

您可以使用文件上傳元素上的sendKeys()按照路徑使用selenium上傳文件。我會建議使用此代替AutoIT或機器人。

因此,不要單擊瀏覽按鈕,而是使用sendKeys()將路徑直接發送到文件輸入元素。

例子:

IWebElement element = driver.FindElement(By.Id("file_input")); 
element.SendKeys(
    Environment.GetEnvironmentVariable("Testplatz_Config_Location") + "\TestConfig.fpc"); 
+0

已經嘗試過但它不添加整個文件路徑 - 它只插入最後一部分:TestConfig.fpc 它不允許我打開文件,因爲它不在OpenFileDialog的起始目錄中 –

+0

然後,必須與您的環境變量錯誤。當您打印Environment.GetEnvironmentVariable(「Testplatz_Config_Location」)+「\ TestConfig.fpc」時,輸出是什麼? – Mobrockers

+0

環境變量輸出工作正常,因爲我在代碼中的幾個不同位置使用它。它只是沒有通過所有的文本到這個領域 –

2

硒不提供處理基於Windows的彈出窗口的任何原生方式。但我們有一些第三方工具,如AutoITRobotClass來處理這些基於窗口的彈出窗口。參考這些,並試一試。 AutoIT with Selenium and Java

+0

我真的不希望使用外部工具。現在我有一些與需要用戶名和密碼的MozillaDialogClass類似的東西。它可以與FindWindow和SendMessage Commando一起工作 - 但不知何故,它不適用於OpenFileDialog,所以我只需發送擊鍵即可。 –

相關問題