自动填写(300分奉上!有些难度,不行再加300!)(300分)

  • 主题发起人 主题发起人 Crane
  • 开始时间 开始时间
C

Crane

Unregistered / Unconfirmed
GUEST, unregistred user!
用什么方法可以用程序来自动填写浏览器中的表格,问卷等等。表格格式
已知。用户只需点击“发送”或“填写完毕”即可。可以自己编浏览器,
方法不限,只要能自动填写就行。我现在所能想到的就是脱机,修改在
cache中的叶面值,然后再联机,不知如何实现,还有什么更好的办法没有
欢迎大家讨论.
谢谢!
 
我记得好象有个软件可以做到,可是不记得名字了。
或者直接在URL中写上表格的内容也可以。
 
学识浅薄,不敢说能解决,只是提供两个思路供你参考:
一、完全用API,找到浏览器的HANDLE,然后再找CHILDWINDOW的HANDLE
比如本竹叶的MEMO的HANDLE,然后往这个子窗口写字串。再找POST BUTTON
的HANDLE,看看能不能用程序CLICK它。

这方法只适合你已经知道的竹叶,且该竹叶已经在当前浏览器中。

二、研究一下POST BUTTON的机制,模拟它做一个。
 
http://asp.gbsource.net/home/happydelphi/down/nokeybrd.zip
这个小工具的主要功能是,让我们在浏览网页时,方便的填写各种表格,你只需
轻轻点击一下鼠标,事先设定好的内容就会复制到剪贴板上,剩下你所要做的工
作就是“粘贴”了!本软件可以通过鼠标右键增加或减少填表项的个数,并且可
以方便的修改填表内容。此外,本软件还可以用于任何文本输入区,当然你也可
以事先设置一些日常用语,在聊天时使用,以免你反复输入同样的语句,到可以
省去不少的时间。

愚夫的作品
 
那竹叶怎么进不去?
 
Y9Y,我给的是下载地址,主页为
http://asp.gbsource.net/home/happydelphi/
 
哇!大虾们出手如电啊!
我可能没说明白,我想编程实现,How?
 
>>我想编程实现,How?

那你问问愚夫大虾不是最好吗?
 
到这里看一下:www.nacs.net/~classics/default.htm
 
其实,此问题我已经解决,但自认为很土,即自己做了个Browser;
修改当前page下的关键数据,但这样可能会有危险,所以拿来大家
讨论,我正在用XML作电子报文提交,在这方面有心得的大虾也可
来此“灌水”
 
有其他方法吗?
 
一种是javascript,一种是自己用Twebbrowser编一个浏览器,
通过ihtmlinputelement来控制input
 
hubdog:
ihtmlinputelement是什么的方法,Twebbrowser里好像没有
能说详细些吗,分数不够我再另给
 
希望大家能给出具体办法?
 
<!-- [BODY_OnLoad]

[BODY_OnUnLoad]

[BODY_Colors]
"#FFFF1F","#FFFF1F","#FFFF1F","#FFFF1F","#FFFF1F",
-->
<!-- To HEAD -->
<script TYPE="text/javascript" LANGUAGE="JavaScript">
<!--

// -->
</script>
<!-- To BODY -->
<script
TYPE="text/javascript" LANGUAGE="JavaScript">
<!--
function modifyvalue(form){
alert("demo");
form.elements[0].value="hubdog";
}
// -->
</script>

<html>

<head>
<title></title>
</head>

<body>

<p>下面是javascript的方法,等会我再贴twebbrowser的例子<font COLOR="#000000"></p>

<p><</font><font COLOR="#800080">!--</font><font COLOR="#008000"> [BODY_OnLoad]</p>

<p>[BODY_OnUnLoad]</p>

<p>[BODY_Colors]</p>

<p>"#FFFF1F","#FFFF1F","#FFFF1F","#FFFF1F","#FFFF1F",</p>

<p>--</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">!--</font><font COLOR="#008000"> To HEAD --</font><font
COLOR="#000000">></p>

<p><</font><font COLOR="#800080">script </font><font COLOR="#ff0000">TYPE="</font><font
COLOR="#0000ff">text/javascript</font><font COLOR="#ff0000">" LANGUAGE="</font><font
COLOR="#0000ff">JavaScript</font><font COLOR="#ff0000">"</font><font COLOR="#000000">></p>

<p><!-- </p>

<p>// --></p>

<p><</font><font COLOR="#800080">/script</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">!--</font><font COLOR="#008000"> To BODY --</font><font
COLOR="#000000">></p>

<p><</font><font COLOR="#800080">script</font><font COLOR="#ff0000"></p>

<p>TYPE="</font><font COLOR="#0000ff">text/javascript</font><font COLOR="#ff0000">"
LANGUAGE="</font><font COLOR="#0000ff">JavaScript</font><font COLOR="#ff0000">"</font><font
COLOR="#000000">></p>

<p><!-- </p>

<p>function modifyvalue(form){</p>

<p>alert("demo");</p>

<p>form.elements[0].value="hubdog";</p>

<p>}</p>

<p>// --></p>

<p><</font><font COLOR="#800080">/script</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">html</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">head</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">title</font><font COLOR="#000000">><</font><font
COLOR="#800080">/title</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/head</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">body</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">form</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">p</font><font COLOR="#000000">><</font><font
COLOR="#800080">input </font><font COLOR="#ff0000">TYPE="</font><font COLOR="#0000ff">TEXT</font><font
COLOR="#ff0000">" NAME="</font><font COLOR="#0000ff">demo</font><font
COLOR="#ff0000">" VALUE="</font><font COLOR="#0000ff">demo</font><font
COLOR="#ff0000">" SIZE="</font><font COLOR="#0000ff">20</font><font
COLOR="#ff0000">" ALIGN="</font><font COLOR="#0000ff">LEFT</font><font
COLOR="#ff0000">"</font><font COLOR="#000000">> <</font><font COLOR="#800080">input</font><font
COLOR="#ff0000"></p>

<p>TYPE="</font><font COLOR="#0000ff">BUTTON</font><font COLOR="#ff0000">"
NAME="</font><font COLOR="#0000ff">modify</font><font COLOR="#ff0000">"
VALUE="</font><font COLOR="#0000ff">modify</font><font COLOR="#ff0000">"
ALIGN="</font><font COLOR="#0000ff">LEFT</font><font COLOR="#ff0000">"
onclick="</font><font COLOR="#0000ff">modifyvalue(this.form)</font><font
COLOR="#ff0000">"</font><font COLOR="#000000">> <</font><font COLOR="#800080">/p</font><font
COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/form</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/body</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/html</font><font COLOR="#000000">></font></p>
</body>
</html>

 
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新网页 2</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>

<p>要你300分不算多吧:)<font COLOR="#000000"></p>

<p>unit Unit1;<br>
<br>
interface<br>
<br>
uses<br>
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,<br>
OleCtrls, SHDocVw, StdCtrls, ExtCtrls,mshtml, EmbeddedWB;<br>
<br>
type<br>
TForm1 = class(TForm)<br>
Panel1: TPanel;<br>
Button1: TButton;<br>
Button2: TButton;<br>
WebBrowser1: TWebBrowser;<br>
procedure Button1Click(Sender: TObject);<br>
procedure Button2Click(Sender: TObject);<br>
private<br>
{ Private declarations }<br>
public<br>
{ Public declarations }<br>
end;<br>
<br>
var<br>
Form1: TForm1;<br>
<br>
implementation<br>
<br>
{$R *.DFM}<br>
<br>
procedure TForm1.Button1Click(Sender: TObject);<br>
begin<br>
WebBrowser1.Navigate('d:/demo.htm');<br>
end;<br>
<br>
procedure TForm1.Button2Click(Sender: TObject);<br>
var<br>
doc:IHTMLDocument2;<br>
all:IHTMLElementCollection;<br>
item:olevariant;<br>
I:Integer;<br>
begin<br>
doc:=WebBrowser1.Document as IHTMLDocument2;<br>
all:=doc.all;<br>
item:=all.tags('INPUT');<br>
item:=item.item(0);<br>
item.innerText:='hubdog';<br>
end;<br>
<br>
end.</p>

<p>下面是d:/demo.htm的内容,例子中把Edit中的delphi变成了hubdog</p>

<p><</font><font COLOR="#800080">html</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">head</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">meta </font><font COLOR="#ff0000">http-equiv="</font><font
COLOR="#0000ff">Content-Type</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">text/html; charset=gb2312</font><font COLOR="#ff0000">"</font><font
COLOR="#000000">></p>

<p><</font><font COLOR="#800080">title</font><font COLOR="#000000">>新网页 2<</font><font
COLOR="#800080">/title</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">GENERATOR</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">Microsoft FrontPage 3.0</font><font COLOR="#ff0000">"</font><font
COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/head</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">body</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">form </font><font COLOR="#ff0000">method="</font><font
COLOR="#0000ff">POST</font><font COLOR="#ff0000">" action="</font><font
COLOR="#0000ff">--WEBBOT-SELF--</font><font COLOR="#ff0000">"</font><font
COLOR="#000000">></p>

<p><</font><font COLOR="#800080">!--</font><font COLOR="#008000">webbot
bot="SaveResults" U-File="_private/form_results.txt"
S-Format="TEXT/CSV"</p>

<p>S-Label-Fields="TRUE" --</font><font COLOR="#000000">><</font><font
COLOR="#800080">p</font><font COLOR="#000000">><</font><font COLOR="#800080">input </font><font
COLOR="#ff0000">type="</font><font COLOR="#0000ff">text</font><font COLOR="#ff0000">"
name="</font><font COLOR="#0000ff">T1</font><font COLOR="#ff0000">" size="</font><font
COLOR="#0000ff">20</font><font COLOR="#ff0000">" value="</font><font
COLOR="#0000ff">delphi</font><font COLOR="#ff0000">"</font><font COLOR="#000000">><</font><font
COLOR="#800080">/p</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/form</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/body</font><font COLOR="#000000">></p>

<p><</font><font COLOR="#800080">/html</font><font COLOR="#000000">></font></p>
</body>
</html>
 
EmbeddedWB 是什么?D5中好像没有这个文件?
 
hubdog:
大家都很辛苦,我在这里先给你200一会再给你剩下的。
 

Similar threads

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