Add(InlineCode,9377786,476,301)
{
WorkPoints=#5:doSet|
DataPoints=#1:h|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|32:uses kol,Share,Debug,KOLSHDocVw;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|16: wb:PControl;|9: public|16: h:THI_Event;|0:|46: procedure doSet(var dt:TData; index:word);|0:|5: end;|0:|14:implementation|0:|4:type|31: TKOLWebBrowser = PWebBrowser;|31: PKOLWebBrowser = PWebBrowser;|0:|28:procedure THiAsmClass.doSet;|16:var i,k:integer;|21: FormItem:Variant;|5:begin|61: if not assigned (wb) then wb := PControl(ToIntegerEvent(h));|79: if PKOLWebBrowser(wb).OleObject.Document.all.tags('div').Length = 0 then exit;|68: for i:=0 to PKOLWebBrowser(wb).OleObject.Document.forms.Length-1 do|7: begin|67: FormItem := PKOLWebBrowser(wb).OleObject.Document.forms.Item(i);|35: for k:=0 to FormItem.length-1 do|49: if FormItem.Item(k).Id = 'gmcr_imgc3'.Click;|6: end;|4:end;|0:|4:end.|
}
Add(MainForm,7984657,168,182)
{
link(onCreate,4976115:doData,[])
}
Add(WebBrowser,5678376,385,168)
{
Width=712
Height=549
Align=5
URL=""
Silent=0
Point(PHandle)
Point(doFromText)
}
Add(DoData,4976115,245,196)
{
Data=String(https://www.google.com/advanced_image_search)
link(onEventData,5678376:doFromText,[])
link(Data,8968811:Text,[])
}
Add(StrList,8968811,245,126)
{
Strings=#45:<form><label for="imgc">Фильтр цвета:</label>|52:<input value="" id="imgc" name="imgc" type="hidden">|60:<input value="" id="imgcolor" name="imgcolor" type="hidden">|43:<div id="color-panel" style="display:none">|59:<div id="gmcr_imgc1" style="display:table-cell">любые</div>|61:<div id="gmcr_imgc2" style="display:table-cell">цветные</div>|65:<div id="gmcr_imgc3" style="display:table-cell">черно-белые</div>|71:<div id="gmcr_imgc4" style="display:table-cell">Прозрачные</div></form>|
}
Add(Button,14453633,315,238)
{
Left=10
Top=105
Width=50
Caption="Клик"
link(onClick,6493342:Zap,[(373,244)(373,307)])
}
Add(InlineCode,6493342,399,301)
{
@Hint=#13:Клик google 1|
WorkPoints=#3:Zap|
DataPoints=#1:h|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|61:uses kol,Share,Debug,windows,ActiveX,KOLSHDocVw,Win,ShellApi;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|16: wb:PControl;|9: public|16: h:THI_Event;|4: |46: procedure Zap(var Data:TData; index:word);|4: |5: end;|0:|15:implementation |0:|4:type|31: TKOLWebBrowser = PWebBrowser;|32: PKOLWebBrowser = PWebBrowser; |0:|26:procedure THiAsmClass.Zap;|3:var|25: ovElements: OleVariant;|13: i: Integer;|5:begin|37: wb := PControl(ToIntegerEvent(h));|80: ovElements := PKOLWebBrowser(WB).OleObject.Document.Forms.Item( 0 ).Elements;|43: for i := 0 to ( ovElements.Length-1 ) do|76: if ( AnsiUpperCase( ovElements.Item( i ).tagName ) = 'imgcolor' ) then|76: if ( AnsiUpperCase( ovElements.Item( i ).Id ) = 'gmcr_imgc3' ) then|66: if ( ovElements.item( i ).Value = 'черно-белые' ) then|42: ovElements.Item( i ).Click;|4:end;|0:|4:end.|
link(h,5678376:PHandle,[])
}
Обще запутался и непонятные ошибки при компиляции
Тема ведь для обучения, так подскажите как надо
Мне нужно в гуле в поиске выбрать нужные переключатели, я то сделал с указанием нужного item, хочу на будущее научится искать его в коде страницы. Покажите как нужно, а то два варианта и не найдут
Вот код который сделал
Add(MainForm,2953706,7,105)
{
Width=728
Height=587
WindowsState=2
Point(onClose)
link(onCreate,13322211:doEvent1,[(47,125)(47,118)])
link(onClose,4169119:del,[(65,132)(65,118)])
}
Add(WebBrowser,5678376,273,119)
{
Width=712
Height=549
Align=5
URL=""
Silent=0
Point(PHandle)
Point(doFromText)
}
Add(DoData,4976115,140,119)
{
Data=String(https://www.google.com/advanced_image_search)
link(onEventData,5678376:doNavigate,[])
}
Add(VisualStrings,3555302,322,126)
{
Lines=#3:Кот|
Width=60
}
Add(Hub,13322211,56,112)
{
link(onEvent1,4169119:write,[(77,118)(77,111)])
link(onEvent2,4976115:doData,[])
}
Add(MultiElementEx,4169119,91,105)
{
}
BEGIN_SDK
Add(EditMultiEx,16512711,21,21)
{
WorkCount=#5:write|3:del|
Height=249
link(write,3634544:doPart,[(95,27)(95,97)])
link(del,8467764:doDeleteValue,[(42,34)(42,160)])
}
Add(Registry,8467764,154,140)
{
HKey=1
Key="SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION\"
DataType=0
Point(doDeleteValue)
link(Data,12071228:Text,[])
link(Value,3634544:Part,[])
}
Add(Application,4084507,168,42)
{
}
Add(FilePartElm,3634544,168,91)
{
Point(Part)
link(onPart,8467764:doWrite,[(207,97)(207,125)(144,125)(144,153)])
link(FileName,4084507:AppFileName,[])
}
Add(VisualStrings,12071228,154,21)
{
Lines=#5:11001|
Width=46
}
END_SDK
Add(Button,14453633,14,231)
{
Left=195
Top=65
Width=165
Caption="Отправить"
link(onClick,16188447:doEvent1,[])
}
Add(ComboBox,7552476,91,168)
{
Left=325
Top=20
Width=130
Height=21
Strings=#5:Любые|8:Портреты|10:фотографии|8:Клип-арт|19:Черно-белые рисунки|13:Анимированные|
Text="Тип"
ReadOnly=0
DropDownCount=6
Point(Index)
}
Add(ComboBox,11546339,147,168)
{
Left=460
Top=20
Width=85
Height=21
Strings=#5:Любые|7:Цветные|11:Черно-белые|10:Прозрачные|
Text="Цвет"
ReadOnly=0
DropDownCount=4
Point(Index)
}
Add(DoData,602843,105,231)
{
link(onEventData,8562839:Тип,[(212,237)(212,202)])
link(Data,7552476:Index,[])
}
Add(DoData,14115759,161,273)
{
link(onEventData,8562839:Цвет,[(240,279)(240,209)])
link(Data,11546339:Index,[])
}
Add(Hub,16188447,63,231)
{
link(onEvent1,602843:doData,[])
link(onEvent2,14115759:doData,[(119,244)(119,279)])
}
Add(MultiElementEx,8562839,287,196)
{
link(h,5678376:PHandle,[])
link(Текст,3555302:Text,[(300,167)(328,167)])
}
BEGIN_SDK
Add(EditMultiEx,2177314,21,21)
{
WorkCount=#3:Тип|4:Цвет|
DataCount=#1:h|5:Текст|4:Сайт|
Width=146
Height=123
link(Тип,7482920:doEvent,[(45,27)(45,48)])
link(Цвет,139623:doEvent1,[(31,34)(31,90)])
}
Add(IndexToChanel,8128150,70,84)
{
Count=4
link(onEvent1,3731023:Any,[])
link(onEvent2,3731023:Colored,[])
link(onEvent3,3731023:Black,[])
link(onEvent4,3731023:Transparent,[])
}
Add(IndexToChanel,7482920,70,42)
{
Count=6
link(onEvent1,3731023:img_1,[])
link(onEvent2,3731023:img_2,[])
link(onEvent3,3731023:img_3,[])
link(onEvent4,3731023:img_4,[])
link(onEvent5,3731023:img_5,[])
link(onEvent6,3731023:img_6,[])
}
Add(Hub,139623,42,84)
{
link(onEvent1,8128150:doEvent,[])
link(onEvent2,3731023:Zap,[(65,97)(65,118)])
}
Add(InlineCode,3731023,126,42)
{
@Hint=#13:Клик google 1|
WorkPoints=#36:img_1=0 Любые картинки по содержанию|16:img_2=1 Портреты|18:img_3=2 фотографии|16:img_4=3 Клип-арт|27:img_5=4 Черно-белые рисунки|21:img_6=5 Анимированные|29:Any=0 Любые картинки по цвету|17:Colored=1 Цветные|19:Black=2 Черно-белые|24:Transparent=3 Прозрачные|28:Zap=10 Заполнить и отправить|
DataPoints=#1:h|4:Name|4:Site|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|61:uses kol,Share,Debug,windows,ActiveX,KOLSHDocVw,Win,ShellApi;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|16: wb:PControl;|9: public|16: h:THI_Event;|19: Name:THI_Event;|19: Site:THI_Event;|4: |48: procedure img_1(var Data:TData; index:word);|48: procedure img_2(var Data:TData; index:word);|48: procedure img_3(var Data:TData; index:word);|48: procedure img_4(var Data:TData; index:word);|48: procedure img_5(var Data:TData; index:word);|48: procedure img_6(var Data:TData; index:word);|5: |46: procedure Any(var Data:TData; index:word);|50: procedure Colored(var Data:TData; index:word);|48: procedure Black(var Data:TData; index:word);|54: procedure Transparent(var Data:TData; index:word);|4: |46: procedure Zap(var Data:TData; index:word);|4: |5: end;|0:|15:implementation |0:|4:type|31: TKOLWebBrowser = PWebBrowser;|31: PKOLWebBrowser = PWebBrowser;|2: |28:procedure THiAsmClass.img_1;|5:begin|35: wb := PControl(ToIntegerEvent(h));|83: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := '';|5: end;|0:|28:procedure THiAsmClass.img_2;|5:begin|35: wb := PControl(ToIntegerEvent(h));|87: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'face';|5: end;|0:|28:procedure THiAsmClass.img_3;|5:begin|35: wb := PControl(ToIntegerEvent(h));|88: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'photo';|5: end;|0:|28:procedure THiAsmClass.img_4;|5:begin|35: wb := PControl(ToIntegerEvent(h));|90: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'clipart';|5: end;|0:|28:procedure THiAsmClass.img_5;|5:begin|35: wb := PControl(ToIntegerEvent(h));|90: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'lineart';|5: end;|0:|28:procedure THiAsmClass.img_6;|5:begin|35: wb := PControl(ToIntegerEvent(h));|91: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgtype_input').value := 'animated';|5: end;|0:|77://---------------------------------------------------------------------------|0:|26:procedure THiAsmClass.Any;|5:begin|35: wb := PControl(ToIntegerEvent(h));|82: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(92).Click;|5: end;|0:|30:procedure THiAsmClass.Colored;|5:begin|35: wb := PControl(ToIntegerEvent(h));|82: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(95).Click;|5: end;|0:|28:procedure THiAsmClass.Black;|5:begin|35: wb := PControl(ToIntegerEvent(h));|82: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(97).Click;|5: end;|0:|34:procedure THiAsmClass.Transparent;|5:begin|35: wb := PControl(ToIntegerEvent(h));|83: PKOLWebBrowser(WB).OleObject.Document.getElementsByTagName('div').item(100).Click;|5: end;|0:|77://---------------------------------------------------------------------------|0:|26:procedure THiAsmClass.Zap;|5:begin|35: wb := PControl(ToIntegerEvent(h));|92: PKOLWebBrowser(WB).OleObject.Document.getElementById('_dKg').value := ToStringEvent (Name);|92: PKOLWebBrowser(WB).OleObject.Document.getElementById('_SKg').value := ToStringEvent (Site);|104: PKOLWebBrowser(WB).OleObject.Document.getElementById('imgsz_input').value := 'qsvga'; // Размер 400x300|112: PKOLWebBrowser(WB).OleObject.Document.getElementsByClassName('jfk-button jfk-button-action _JQ').item(0).Click;|5: end;|0:|4:end.|
link(h,2177314:h,[(132,32)(27,32)])
link(Name,2177314:Текст,[(139,32)(34,32)])
link(Site,2177314:Сайт,[(146,32)(41,32)])
}
END_SDK
Хотя в коде наверно лучше объявить клобальную переменную wb := PControl(ToIntegerEvent(h)); Чтобы не писать каждый раз
И скажите зачем нужно в коде TKOLWebBrowser = PWebBrowser; а то немного списал и без него работает. Просто в примерах всегда так делают