Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.22;
Скачать: CL | DM;

Вниз

Народ, как с помощью TWebBrowser (или чего другого) заполнить поля в HTML   Найти похожие ветки 

 
Димка-1200   (2002-02-11 10:03) [0]

Есть HTMLина, которую я открываю с сайта, нужно заполнить поля в формочке и нажать кнопку сабмит. Как это правильно реализовать ?
Может с помощью DHTML поменять инфу в VALUE ?
Есть другие идеи ?
PS: Страницу нельзя сохранять на диск и там править, т.к. на сайте сечется referer :(


 
OGR ©   (2002-02-11 14:43) [1]

Так заполнять форму типа TEXTAREA из Memo1

iColl2:=iDoc.All.Tags("TEXTAREA") as IHTMLElementCollection;
for i:=0 to iColl2.length-1 do
with (iColl2.item(i,varEmpty) as IHTMLTextAreaElement) do
if name="имя формы textarea" then
begin
(iColl.item(i,varEmpty) as IHTMLElement).scrollIntoView(varEmpty);
value:=Memo1.Lines.Text;


А нажимать кнопку сабмит так:

var IColl : IHTMLElementCollection;
i : integer;
begin
iColl:=(WebBrowser1.Document as IHTMLDocument2).All.tags("INPUT") as IHTMLElementCollection;
for i:=0 to iColl.length-1 do
if (iColl.item(i,varEmpty) as IHTMLInputElement).name="Sbm_upd" then (iColl.item(i,varEmpty) as IHTMLElement).click;
end;


P.S. Чего накручивать собралсся? $-)


 
Лёша ©   (2002-02-11 15:42) [2]

function StringToVarArray(const Value: string): OleVariant;
var
PData: Pointer;
Size: Integer;
begin
Size := Length(Value);
Result := VarArrayCreate([0, Size-1], varByte);
PData := VarArrayLock(Result);
try
Move(Pointer(Value)^, PData^, Size);
finally
VarArrayUnlock(Result);
end;
end;

function Encode(const S: string): string;
var
I: Integer;
Hex: string;
begin
for I := 1 to Length(S) do

case S[i] of
" ": result := Result + "+";
"A".."Z", "a".."z", "*", "@", ".", "_", "-",
"0".."9", "$", "!", """", "(", ")":
result := Result + s[i];
else
begin
Hex := IntToHex(ord(S[i]), 2);
if Length(Hex) = 2 then Result := Result + "%" + Hex else
Result := Result + "%0" + hex;
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
url, Flags, TargetFrame, Postdata, Headers: Olevariant;
begin
Url := "https://lc1.law5.hotmail.passport.com/cgi-bin/dologin";
TargetFrame:=0;
Flags:=NavNoHistory;
headers := StringtoVarArray("Content-Type:application/x-www-form-urlencoded"#13#10);
Postdata := StringToVarArray(Encode("login=<MyUsername>&passwd=<MyPassword>"));
WebBrowser1.Navigate2(URL, Flags, TargetFrame, PostData, Headers);
end;


P.S. Не только накручивать, но и гадить.


 
Димка-1200   (2002-02-12 01:42) [3]

да не, не накручивать :)
СМСки хочу отправлять не с сайта, а из проги.
С сокетами лень было ковыряться.
Спасибо за советы !



Страницы: 1 вся ветка

Текущий архив: 2002.04.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
14-69980
Sergey13
2002-03-14 11:21
2002.04.22
А где моя ветка про религию?


3-69694
amamed_3071
2002-03-30 09:17
2002.04.22
Как увеличит TimeOut в AdoQuery


3-69663
Kostia
2002-04-01 17:33
2002.04.22
Народ, подскажите, какая БД


1-69771
Viatcheslav
2002-04-10 08:29
2002.04.22
Работа с большим количеством TEdit


1-69858
BlackGrin
2002-04-08 21:36
2002.04.22
Изминение размеров кона с изменением внутриоконных объектов