【发布时间】:2013-11-03 22:08:19
【问题描述】:
我正在使用 Lazarus 我有一个带有 webbrowser 组件的应用程序,它登录到网站会加载如下页面(请参阅下面的 html 代码),并填写不同的输入。最后一个输入是要上传的文件。我希望我的应用程序“单击”浏览,选择我想要的文件,然后打开。之后我可以发布表单或上传文件并继续。
1
我在网站上有以下 html 代码:
<td align="left" class="RequiredInput">File:</td>
<td class="datafield">
<form name="frmMain" id="frmMain" action="upload.asp?step=2&output=1" method="post" enctype="multipart/form-data">
<input type="file" name="filename" id="filename">
</form>
我尝试从我的应用程序中执行 JS:document.getElementById('filename').value = 'C:\x.csv'
2
我尝试使用 synapse 中的以下代码 HttpPostFile:
uFileName := 'C:\x.csv';
uStream := TFileStream.Create(uFileName, fmOpenRead);
uList:=TStringList.Create;
if HttpPostFile('upload.asp?step=2&output=1', 'filename', uFileName, uStream, uList) then
ShowMessage('OK');
它什么也没做(我用 Fiddler 跟踪了应用程序的活动)
任何帮助将不胜感激。
提前致谢,
Zsolt
【问题讨论】:
-
not working不是一个很好的取证术语。查看错误、检查网络选项卡中的请求等时,浏览器控制台中发生了什么。 -
not working = 'filename' 字段没有得到更新...不确定我应该检查网站的浏览器控制台只能在 IE 中使用。我正在使用 TWebBrowser 组件。
-
ie 有一个开发者工具控制台-键盘上的 F12
-
谢谢你,但不知道这对我有什么帮助。我也找不到“网络标签”。我正在尝试从用 Lazarus 编写的应用程序中自动化表单,我正在使用 Fiddler 来查看发生了什么。
-
这是两个完全不同的问题(一个关于 HTML/JavaScript,另一个关于 Lazarus/Synapse)。它们需要单独发布,每个问题都带有适当的标签。这个网站是围绕“一个问题,一个答案”设计的,而不是“把一堆不相关的问题放在一起,然后要求他们全部回答”。 :) 请edit 删除一个问题及其相关标签,并在新帖子中询问已删除的问题。谢谢。
标签: webbrowser-control lazarus twebbrowser