我想發送字符串ABC
到一個Windows文件對話框的輸入字段。通過此代碼行,我可以將焦點設置爲正確的元素。我看到一個閃爍的光標。SendKeys到一個Windows文件對話框
var filedialogOverlay = drv.SwitchTo().ActiveElement();
但是,以下代碼不會將字符串寫入元素。
Thread.Sleep(1000);
filedialogOverlay.SendKeys("ABC");
編輯: 文件上傳提示是由一個網站,我想測試所示。由於黑盒測試,我看不到源代碼。有沒有分析GUI的工具?
當我右鍵單擊輸入元素時,我會得到以下選擇。
如果您的意思是文件上傳提示像http://www.cumc.columbia.edu/it/howto/remote/img/dnuploadfile25.jpg,您的代碼將無法正常工作。 'drv.SwitchTo()。ActiveElement();'允許切換到您當前關注的元素,例如文本輸入字段與光標在裏面...要上傳文件,您需要將文件路徑發送到'元素 – Andersson
ActiveElement()方法返回頁面中的活動元素,而不是文件對話。 Selenium不支持文件對話框,但它通過直接在文件路徑上調用''元素中的'Sendkeys'來支持文件上傳。 –
@Florent B.你能給我看答案中的完整代碼嗎? – kame