Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebBrowser上载文件-选择文件对话框问题_C#_Webbrowser Control - Fatal编程技术网

C# WebBrowser上载文件-选择文件对话框问题

C# WebBrowser上载文件-选择文件对话框问题,c#,webbrowser-control,C#,Webbrowser Control,我有一个win forms应用程序,我正在应用程序中打开一个webBrowser。我必须使用浏览器,因为我正在自动化网站的实际浏览器UI流。我上传文件时遇到了一个障碍。输入元素类型是“file”,正如我所发现的,以编程方式填充它的唯一方法是点击浏览按钮并从“选择要上载的文件”对话框中选择实际的文件 我在这个话题上找到了有用的答案,比如: 我尝试使用上述解决方案,但我的代码没有超出file.InvokeMember(“单击”)。因此,基本上,一旦“选择要上载的文件”对话框打开,代码就会暂停并等待

我有一个win forms应用程序,我正在应用程序中打开一个webBrowser。我必须使用浏览器,因为我正在自动化网站的实际浏览器UI流。我上传文件时遇到了一个障碍。输入元素类型是“file”,正如我所发现的,以编程方式填充它的唯一方法是点击浏览按钮并从“选择要上载的文件”对话框中选择实际的文件

我在这个话题上找到了有用的答案,比如:


我尝试使用上述解决方案,但我的代码没有超出
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}”)是的,就像在那个解决方案中一样,尝试发送键来填充并关闭对话框,但它只有在我用鼠标手动关闭对话框后才能到达下一步。我已经编辑了你的标题。请参阅“”,其中的共识是“不,他们不应该”。