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

本文关键字:文件 对话框 问题 选择 上载 WebBrowser | 更新日期: 2023-09-27 17:57:35

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

我在这个话题上找到了有用的答案,比如:上传文件不起作用-需要帮助

我尝试使用上面的解决方案,但我的代码没有超出file.InvokeMember("Click");。因此,基本上,一旦"选择要上传的文件"对话框打开,代码就会暂停并等待对话框关闭。我不知道如何从这里开始。非常感谢在这方面的帮助,也许还有关于处理<input type="file"..."元素的更好建议。

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

我希望下面的答案能对你有所帮助。将计时器控件添加到表单中。在将单击事件调用到上载文件对话框之前,请启动计时器。

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);
        }
    }