在Webbrowser控件VB.net 2010中以编程方式选择输入:文件

在Webbrowser控件VB.net 2010中以编程方式选择输入:文件,vb.net,browser,webbrowser-control,Vb.net,Browser,Webbrowser Control,我有一个网站,我通过VB.NET2010通过WebBrowser控件填写表单数据 我能够设置输入值:文本,输入:密码,复选框,选择,并能够提交表格 但我无法以编程方式选择input:file。我也能开 选择一个文件对话框 如何从VB.Net代码中将文件名发送到select并按下OK按钮?我确信这是一种浏览器安全功能,可防止恶意网站将随机文件从用户网站自动上载到自己的网站。考虑一下,如果任何网站可以在用户没有任何明确的动作的情况下将任意文件从用户的计算机上拉出来,那将是多么危险。 您最好的选择可能

我有一个网站,我通过VB.NET2010通过WebBrowser控件填写表单数据

我能够设置输入值:文本,输入:密码,复选框,选择,并能够提交表格

但我无法以编程方式选择input:file。我也能开 选择一个文件对话框


如何从VB.Net代码中将文件名发送到select并按下OK按钮?

我确信这是一种浏览器安全功能,可防止恶意网站将随机文件从用户网站自动上载到自己的网站。考虑一下,如果任何网站可以在用户没有任何明确的动作的情况下将任意文件从用户的计算机上拉出来,那将是多么危险。

您最好的选择可能是转储Web浏览器控件,因为它将限制您使用其安全模型。取而代之的是考虑直接获取网页并在应用程序中发布响应。p> 以下.NET名称空间应可用于此目的:

嗨,约翰,我同意你的看法。但这与JS无关。这是VB.net,在这里我们可以处理窗口,并可以自动化我们可以做的任何事情。我正在寻找的唯一解决办法是,1。如何找到打开的文件对话框窗口2。通过向窗口3发送消息选择文件。关闭对话框,但我不知道如何通过代码实现这一点。我认为浏览器控件将在这里杀死你。通过使用它,您将自己局限于它的安全模型。您是否考虑过直接阅读网页并发布应用程序的响应?我更新了我的答案,加入了这个方法。但是我没有一个表格。我有一系列的页面,这些页面在登录到系统后一个接一个地打开。因此,不按照顺序发布数据是不可能的。我建议您使用HTTPWebResponse类来读取页面内容,然后使用HTTPWebRequest发回数据,避免浏览器控件的需要,因为浏览器控件出于安全考虑会阻止您的请求。但是,有些页面在打开页面时使用javascript只在使用令牌时发回数据。你有没有一个例子,我可以研究并尝试一下,如果我可以有一系列的请求-响应交互。