Пытаюсь кликнуть на кнопку через webbrowser:
Код:
<div class="clb"></div></div><div><div class="uform"><div class="tac">Пользователь должен будет подтвердить, что вы друзья.</div><form action="/dk?bk=FriendAddFriend&st.cmd=friendAddFriend&st.friendId=aomlbsdidxukmwqoz0qecurxyzgbqeumewc&tkn=7246" method="post" onsubmit="var now=new Date().getTime()/1000; if(now-__pstd<6) return false; __pstd=now;"><input value="set" type="hidden" name="fr.posted" /><div class="fbtns tac"><input value="Пригласить" type="submit" name="button_addFriend" /><span class="act"><a class="ai alnk" href="friendMain#js-bck"><span class="lnk">Отменить</span></a></span></div></form></div></div></div></div></div><div id="footer"><div class="tdiv"></div>
Вот код на delphi:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var
i,nn,c: integer;
x: string;
zz,pp: variant;
begin
x := edit3.text;
Webbrowser1.Navigate(x);
while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do
Application.ProcessMessages;
zz:=WebBrowser1.OleObject.Document.getelementsbytagname('a');
for i:=0 to zz.length-1 do
begin
if pos('/dk?st.cmd=friendAddFriend',zz.item(i).href)<>0 then
begin
zz.item(i).click;
while WebBrowser1.ReadyState <> 4 do
Application.ProcessMessages;
pp:=WebBrowser1.OleObject.document.forms.item(0).elements; // на эту строчку матерится :(
for nn:=0 to (pp.Length - 1) do
if (pp.item(nn).tagName = 'input') and
(pp.item(nn).type = 'submit') and
(pp.item(nn).Value = 'Пригласить') then
pp.item(nn).click;
end;
end;
end;
Вылетает ошибка access violatin, высвечивается строчка которое закоментил.
Почему это происходит?
p.s переделать на indy не предлогать, нужен именно webbrowser