在Web页面上模拟人工操作..... ( 积分: 100 )

  • 主题发起人 jxgangzhao
  • 开始时间
J

jxgangzhao

Unregistered / Unconfirmed
GUEST, unregistred user!
各位DFW:
老板要做一个程序模拟人工在web页面上的操作.
比如说:要这个程序不停的点击页面上的某个按钮.或者是改变某个选择项后点击某个
按钮 .
请有这方面经验的朋友给点意见.
 
各位DFW:
老板要做一个程序模拟人工在web页面上的操作.
比如说:要这个程序不停的点击页面上的某个按钮.或者是改变某个选择项后点击某个
按钮 .
请有这方面经验的朋友给点意见.
 
点击按钮事实上一般是提交操作
应当清楚那个按钮是做什么的,连接到了哪个URL,用了什么方法(get/post还有用了javascript)
这样可以不用去模拟而是直接执行该操作
 
用Delphi访问其Document 接口
 
如果是web页面,肯定有FORM一类的标签,指向一个URL,FORM标签中会有一些参数选项,你所作的就是把参数和URL组合成目标URL,然后访问一下这个URL
 
someset:
他用的是post方法.提交的action指向另一个页面.他是在指向的页面里访问当前页面的内容.
请问一下这样应该怎么执行?
lich:
可以详细谈一下吗?最好给个的例子.TKS.
bluesaga:
他是有一个FORM标签.action指向另一个url, 再也没有其他参数.请问该怎么组合?
TKS!!!
 
你去www.x-times.com下载一个Robot程序研究看看。
 
delphibbs_Lee:
上不去啊。
 
如果你只是想持续刷新目标URL(只点击而不关心显示)的话
那简单地用IdHTTP.Post就行了
关键就是网页上的表单,例如下面这种
<form name=&quot;form1&quot;
method=&quot;post&quot;
action=&quot;http://127.0.0.1/hello.html&quot;>
<p>
<input type=&quot;radio&quot;
name=&quot;radiobutton&quot;
value=&quot;AswA&quot;>
</p>
<p>
<input type=&quot;radio&quot;
name=&quot;radiobutton&quot;
value=&quot;AswB&quot;>
</p>
<p>
<input type=&quot;text&quot;
name=&quot;textfield&quot;>
</p>
<p>
<input type=&quot;submit&quot;
name=&quot;Submit&quot;
value=&quot;提交&quot;>
</p>
</form>
那么点击“提交”如同如下代码:
var
ArgList: TStringList;
begin
ArgList := TStringList.Create;
ArgList.Clear;
ArgList.Append('radiobutton=AswB&amp;textfield=文本框中的文本&amp;Submit=%CC%E1%BD%BB');
//AswB第二个单选钮被选中
IdHTTP1.Post('http://127.0.0.1/hello.html', ArgList);
ArgList.Free;
end;
 
someset:
你很有经验.我把我的需求给你详细说一下.看有没有办法解决.
是这样的.
网页上有三个combobox.有一个提交按钮.点击后打开一个新页面.
我要做的是.
组合三个combobox中选择的条件(程序里自动组合),然后点击提交按钮.
如: 当
combobox1:=001,
combobox2:=002,
combobox3:=003,
单击提交按钮.
TKS...
 
form块代码摘下来看看
下面假如三个combobox名字分别为combobox1/2/3(name属性)
选择无value属性(表示和选项显示名字一样),“提交”按钮
Post串改为:
combobox1=001&amp;combobox2=002&amp;combobox3=003&amp;Submit=%CC%E1%BD%BB
 
someset:你好.
你说的这种组合没问题.
我还有个问题.
我要将action指向的这个页面打开.但是程序运行后不能打开
TKS!!!!!!!!!!!
 
是啊,post函数的返回值就是返回页面的HTML文本
把它指定给IE的接口
或简单地把该String存入一文件(*.htm)再调用IE打开它
 
问题已解决.
可以留个联系方式吗?多多指教......
TKS
 
qq786777
不过深的我也“指教”不了
我不过之前写过一个简单的CGI因此了解一些:)
 
问题已解决.
可以留个联系方式吗?多多指教......
TKS
 
someset:你好.
还有个问题要请教一下.
我想知道我在某一个页面点击某个按钮后.我发送给服务器端的字符串是什么.
有没有办法做到??
TKS!!!!!!!!!!!
 
自已做个简单的WEB服务器(用IdHTTPServer)
并把网页表单改一下URL为本机,测试一下
暂想不到更好用的办法
 
someset:你好.
请问一下Select 是怎么传的?
我的程序是这样的.麻烦你帮我看看那里错了.
也面1
<%@LANGUAGE=&quot;VBSCRIPT&quot;
CODEPAGE=&quot;936&quot;%>
<html>
<head>
<meta http-equiv=&quot;Content-Type&quot;
content=&quot;text/html;
charset=gb2312&quot;>
<title>无标题文档</title>
</head>
<body>
<form name=&quot;form1&quot;
method=&quot;post&quot;
action=&quot;Untitled-3.asp&quot;
target=&quot;_blank&quot;>
<p>&amp;nbsp;
</p>
<p>
<select name=&quot;select&quot;
size=&quot;1&quot;>
<option value=&quot;001&quot;>001text</option>
<option value=&quot;002&quot;>002text</option>
<option value=&quot;003&quot;>003text</option>
</select>
</p>
<p>&amp;nbsp;
</p>
<p>
<input type=&quot;submit&quot;
name=&quot;Submit&quot;
value=&quot;提交&quot;
>
</p>
</form>
</body>
</html>
页面2--Untitled-3.asp
<%@LANGUAGE=&quot;VBSCRIPT&quot;
CODEPAGE=&quot;936&quot;%>
<html>
<head>
<meta http-equiv=&quot;Content-Type&quot;
content=&quot;text/html;
charset=gb2312&quot;>
<title>无标题文档</title>
</head>
<%
astr=request.Form(&quot;select&quot;)
response.Write(astr)
%>
<body>
</body>
</html>
Delphi
procedure TForm1.Button5Click(Sender: TObject);
ArgList: TStringList;
var
ArgList := TStringList.Create;
ArgList.Clear;
ArgList.Append('select=001&amp;Submit=%CC%E1%BD%BB');

self.Memo1.Lines.Add(self.IdHTTP1.Post('http://localhost/Untitled-3.asp', ArgList));
memo1.Lines.SaveToFile('c:/searchp.html');
ArgList.Free;
请问为什么返回值与单击&quot;提交&quot;按钮的返回也面的html不一样?
TKS!!!!!!!!!!!!!
 
使用 SHDocVw.pas
你想干什么都行
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部