我目前正在开发一个项目,该项目需要能够使用 mshtml.HTMLInputFileElement 在 HTML 文档中设置“文件”类型的输入元素的值。我在做这件事时遇到了很大的困难。
首先我尝试了这个:
IHTMLInputFileElement element = (IHTMLInputFileElement)args[0];
string filename
element.value = newFileName;
但是没有设置值。然后我在另一个论坛上读到 value 属性不能直接设置,但可以通过将焦点赋予该输入元素然后使用 SendKeys 将值发送到文件元素来设置,如下所示:
HTMLInputElement writableFileElement = (HTMLInputElement)element;
writableFileElement.focus();
SendKeys.SendWait(newFileName);
这也失败了,并抛出了一个 COM 异常,指出该字段不可写。
有没有办法设置 HTMLInputFileElement 的值字段?