将密钥发送到 windows 文件对话框

SendKeys to a windows file dialog

我想将字符串 ABC 发送到 windows 文件对话框的输入字段。使用此代码行,我可以将焦点设置到正确的元素。我看到一个闪烁的光标。

var filedialogOverlay = drv.SwitchTo().ActiveElement();

但是下面的代码并没有将字符串写入元素。

Thread.Sleep(1000);
filedialogOverlay.SendKeys("ABC");

编辑: 文件上传提示由我要测试的网站显示。由于黑盒测试,我看不到源代码。有没有分析GUI的工具?

当我右键单击输入元素时,我得到以下选项。

如果您需要上传文件,请尝试将文件路径直接发送到适当的输入字段:

drv.FindElement(By.XPath("//input[@type='file']")).SendKeys("ABC");

P.S。如果页面上有多个文件上传输入字段,您可能需要更具体的 XPath,例如 "//input[@id='some_specific_file_upload']"...

您可以使用SendKeys.SendWait的Windows表格

//Input the file path into the filename field:
SendKeys.SendWait(longfilepath);
//Input "Enter" key
SendKeys.SendWait(@"{Enter}");

https://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.sendwait(v=vs.110).aspx