将密钥发送到 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
我想将字符串 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