Главная страница
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.011 c
1-69772
Anar
2002-04-10 09:30
2002.04.22
ShellExecute


1-69852
Sergey Saf
2002-04-06 21:13
2002.04.22
Комбинация кнопок


14-70027
lipskiy
2002-03-18 17:04
2002.04.22
Маленький вопросик про Outlook Express


3-69672
roman_tutov
2002-04-03 12:54
2002.04.22
компонент Table & memo поле


1-69887
panoff
2002-04-09 12:32
2002.04.22
В проге нет формы но нужны функции таймера?