C# WebBrowser上载文件-选择文件对话框问题
我有一个win forms应用程序,我正在应用程序中打开一个webBrowser。我必须使用浏览器,因为我正在自动化网站的实际浏览器UI流。我上传文件时遇到了一个障碍。输入元素类型是“file”,正如我所发现的,以编程方式填充它的唯一方法是点击浏览按钮并从“选择要上载的文件”对话框中选择实际的文件 我在这个话题上找到了有用的答案,比如:C# WebBrowser上载文件-选择文件对话框问题,c#,webbrowser-control,C#,Webbrowser Control,我有一个win forms应用程序,我正在应用程序中打开一个webBrowser。我必须使用浏览器,因为我正在自动化网站的实际浏览器UI流。我上传文件时遇到了一个障碍。输入元素类型是“file”,正如我所发现的,以编程方式填充它的唯一方法是点击浏览按钮并从“选择要上载的文件”对话框中选择实际的文件 我在这个话题上找到了有用的答案,比如: 我尝试使用上述解决方案,但我的代码没有超出file.InvokeMember(“单击”)。因此,基本上,一旦“选择要上载的文件”对话框打开,代码就会暂停并等待
我尝试使用上述解决方案,但我的代码没有超出
file.InvokeMember(“单击”)代码>。因此,基本上,一旦“选择要上载的文件”对话框打开,代码就会暂停并等待对话框关闭。我不知道如何从这里开始。我非常感谢您在这方面的帮助,也许还有一个更好的关于处理的建议,我希望下面的答案能对您有所帮助。将计时器控件添加到窗体中。
在调用上载文件对话框的单击事件之前,请启动计时器
timer1.Interval = 3000;
timer1.Start();
file.InvokeMember("Click");
在定时器滴答声事件中添加以下编码
private void timer1_Tick(object sender, EventArgs e)
{
try
{
timer1.Stop();
SendKeys.SendWait("D:\\testing.txt"); // enter the file path, which suppose to upload.
SendKeys.SendWait("{TAB 2}");
SendKeys.SendWait("{ENTER}");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
你试过答案的下一部分了吗<代码>SendKeys.Send(“C:\\Images\\CCPhotoID.jpg”+“{ENTER}”)代码>是的,就像在那个解决方案中一样,尝试发送键来填充并关闭对话框,但它只有在我用鼠标手动关闭对话框后才能到达下一步。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。