Текущий архив: 2008.10.05;
Скачать: CL | DM;
Вниз
Выделить Checkbox в webbrowser! Найти похожие ветки
← →
Седрак (2008-08-21 13:18) [0]Добрый день....как можно выделить опеределнный чекбокс в компонененте веббраузер?
Допустим я кинул на форму webbrowser1...и урл его http://delphimaster.ru/cgi-bin/forum.pl?n=18 как мне сделать так что б автоматический галочка стояла допустим в <input type="checkbox" name="vd6" value="D7" />D7 ??
заранее благодарю....
← →
Vlad Oshin © (2008-08-21 13:24) [1]http://delphiworld.narod.ru/base/auto_fill_html_forms.html
← →
седрак (2008-08-21 13:35) [2]там автомотическое заполнение формы хтмл...где надо вводить слово....а мне нужно выделить чекбокс..но все равно спасибо за подсказку...
← →
Vlad Oshin © (2008-08-21 13:43) [3]
> чекбокс..
елемент
> формы хтмл
и имеет cв-во, помечен или нет.
см. в html какое
← →
SSSs (2008-08-21 14:02) [4]это понятно...только автоматические как мне сделать сво-во помечен......что то я не догоняю?можно мне в прямую сказать?
← →
Vlad Oshin © (2008-08-21 14:25) [5]нет!!!
я делал, даже без webbrowser, а сразу с IE,
но диск запортился с исходниками, восстанавливаю вот сижу, программки всякие пробую. Восстановлю - скажу
← →
Седрак (2008-08-21 15:05) [6]ууу ясно)))глухо все значь)))а мож у кого еще есть мысли)))
← →
Vlad Oshin © (2008-08-21 15:19) [7]поищи по innerHTML, OuterHTML
Смысл - когда подгрузится страница, заменить innerHTML на свое значение
← →
седрак (2008-08-21 17:31) [8]Откопал...
Как включить/выключить CheckBox в TWebBrowser?
// Включаем/выключаем CheckBox в первой форме
procedure TForm1.Button1Click(Sender: TObject);
var
ovElements: OleVariant;
i: Integer;
begin
ovElements := WebBrowser1.OleObject.Document.Forms.Item( 0 ).Elements;
for i := 0 to ( ovElements.Length-1 ) do
if ( AnsiUpperCase( ovElements.Item( i ).tagName ) = "INPUT" ) then
if ( AnsiUpperCase( ovElements.Item( i ).type ) = "CHECKBOX" ) then
if ( ovElements.item( i ).Value = "Some text" ) then
ovElements.Item( i ).Click;
end;
но что то разобраться не могу))если запашет, мож скажете?))
← →
Vlad Oshin © (2008-08-22 14:24) [9]вот процедурка, перебирает окна IE, и если находит какие поля то заполняет. (на комменты внимания не обращать :))
тебе надо к
<input type="checkbox" name="vd6" value="D7" />D7
прикрутить это
CHECKED – указывает, что поля типов checkbox и/или radio (см. выше атрибут TYPE) активизированы.
методом подмены innerHTML, OuterHTML
procedure FillAll1(FullName,DateOfBirth,PlaceOfBirth,Gender:string); //аналогично, только заполняются дети. 1
var
Winds: IShellWindows;
IEWB: IWebBrowser2;
Doc: IHtmlDocument2;
i,j:integer;
Coll : IHTMLElementCollection;
begin
Winds:=CoShellWindows.Create;
for j:=0 to Winds.Count-1 do
if (Winds.Item(j) as IWEbBrowser2).Document<>nil
then begin
IEWB:=Winds.Item(j) as IWEbBrowser2;
if IEWB.Document.QueryInterface(IhtmlDocument2, Doc)= S_OK
then begin //начало подключения
doc.all.tags("INPUT").QueryInterface(IHTMLElementCollection,coll);
for i:=0 to Coll.length-1 do begin //--------------- заполняем типа Input все
// имя фамилия
if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.NAME_E.01")
then begin HTMLInputElement(Coll.item(i,varEmpty)).value:=FullName; end;
// Дата рождения
if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.DOB.01")
then begin HTMLInputElement(Coll.item(i,varEmpty)).value:=DateOfBirth; end;
// Место рождения
if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.DOB_PLC.01" )
then begin HTMLInputElement(Coll.item(i,varEmpty)).value:=PlaceOfBirth; end;
end;
doc.all.tags("SELECT").QueryInterface(IHTMLElementCollection,coll);
for i:=0 to Coll.length-1 do begin //--------------- заполняем типа Select все
// Пол, определяем полом
if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.SEX.01")
then begin
if Gender[1]="M" then
HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.SEX.01>"+
"<OPTION value=1 selected>Male<OPTION value=2>Female</OPTION></SELECT>";
if Gender[1]="F" then
HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.SEX.01>"+
"<OPTION value=1>Male<OPTION value=2 selected>Female</OPTION></SELECT>";
end;
// Сын или дочь, определяем полом
if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.RELN.01")
then begin
if Gender[1]="M" then
HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.RELN.01>"+
"<OPTION value=0>Select Relation<OPTION value=2>WIFE<OPTION value=3 selected>SON<OPTION value=4>DAUGHTER</OPTION></SELECT>";
if Gender[1]="F" then
HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.RELN.01>"+
"<OPTION value=0>Select Relation<OPTION value=2>WIFE<OPTION value=3>SON<OPTION value=4 selected>DAUGHTER</OPTION></SELECT>";
end;
// пока тупо Россия
if (HTMLInputElement(Coll.item(i,varEmpty)).name="ACCOMP_BACKUP.DEFAULT.DOB_CNTRY.0 1")
then begin
HTMLInputElement(Coll.item(i,varEmpty)).outerHTML:="<SELECT size=1 name=ACCOMP_BACKUP.DEFAULT.DOB_CNTRY.01>"+
"<OPTION value=477>RUSSIA</OPTION></SELECT>";
end;
end;//--------------- заполняем типа Select все
end; //конец подключения
end;
end;
Страницы: 1 вся ветка
Текущий архив: 2008.10.05;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.006 c