gpt4 book ai didi

c# - 如何在 C# 中使用 webbrowser 通过文件输入框上传文件

转载 作者:太空狗 更新时间:2023-10-29 23:51:50 24 4
gpt4 key购买 nike

可能是这个问题过去被问过,但我已经搜索过但还没有找到它的解决方案。

我已经尝试了迄今为止找到的所有选项,但都是徒劳的。SendKeys 不起作用,因为它没有用要上传的文件路径填充文件输入框。无法设置文件输入框“SetAttribute”值,因为没有可用的值属性:

就这些。

如果我使用 element.focus() 它会弹出“选择要上传的文件”对话框,现在我不知道如何以编程方式填充它并在文件输入框中打开它。

我希望它自动完成,这样用户就不必与应用程序交互。应用程序应从给定文件路径的硬盘中选择文件并填写表单的其他字段然后开始上传,所有这些都使用 windows 窗体应用程序中的 webbrowser 控件。

没有找到解决方案!

有人可以帮忙吗? (这是我关于 stackoverflow 的第一个问题,因此如果我做错了什么请指导,我的意思是如果我不允许发布这样的问题!)

代码如下:

        HtmlElementCollection heCollection = doc.GetElementsByTagName("input");
foreach (HtmlElement heSpan in heCollection)
{
string strType = heSpan.GetAttribute("type");
string strName = heSpan.GetAttribute("name");
if (strType.Equals("file") && strName.Equals("file"))
{
heSpan.Focus();
//heSpan.SetAttribute("value", "test.jpg");
SendKeys.Send("C:\\1.txt");
//heSpan.InnerText = "c:\\1.txt";
}

//Title for the attachment
if (strName.Equals("field_title"))
{
heSpan.InnerText = "1.txt";
}
}

当这段代码执行时,光标开始在精细输入框中闪烁(因为我已经设置了 heSpan.focus()),但是文件路径没有显示在文件输入框中。如果我实现 heSpan.InvokeMember("点击");它打开选择一个文件上传对话框/弹出窗口,我被卡住了,因为我不知道如何动态填充该弹出窗口,然后在文件输入框中插入文件路径。

最佳答案

在将焦点设置到输入字段之前,尝试将焦点设置到 WebBrowser 控件。这对我有用。

关于c# - 如何在 C# 中使用 webbrowser 通过文件输入框上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14664626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com