TO:我要学
呵呵,你提的问题我也正在查找答案,网页上有很多按钮是没有名字的,但我查找过(呵呵,查了NN个小时),曾看过有人提出个思路:既然用MSHTML可以提取网页中的所有元素,那么MSHTML就应该自动为那些没有名字的按钮提供一个不重复的代号,只是怎样才能让我们提取出来,这需要高手们为我们解答了.
不过我用了一个折衷的方法,因为"登录"按钮一般都是网页中默认的回车按钮,所以可以用下代码来代替前面的点击按钮.
procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
[red]input:OleVariant;[/red]
(form:ithmlformelement
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item('user'(也就是网页中用户名控件的名字),0) as ihtmlinputelement);
userinputelement.value:=edit1.text;(也就是你要向网页输入的东西)
pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement);
pwdinputelement:=edit2.text;
[red]input:=doc.all.item('submit',0);
input.click;[/red]
(form:=(doc.all.item('login_form',0) as ihtmlformelement):
form.submit
end;
把红色的部份用括号里的代码代替就可以了,这种方法基本上可以适用所用的登录地方.
PS:TO:我要学,你说的在程序里查看指的是什么啊?是网页源代码吗?
既然要自动登录,总得知道网页中控件的名字吧,否则怎么让程序来自动填充你的东西呢?