Форум: "Сети";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
ВнизТупое нажатие на кнопку Найти похожие ветки
← →
Григорий (2006-10-19 17:40) [0]Облазил кучу сайтов но так и не нашёл ответа на задачу.
А задача состоит в том что-бы нажать на кнопку "ОК" на сайте www.territory.ru
пробдывал так:
WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click;
и так:
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 (ovElements.item(i).tagName = "INPUT") and
(ovElements.item(i).type = "SUBMIT") and
(ovElements.item(i).Value = "Recent Charges") then
ovElements.item(i).Click;
end;
В результате ничего. Прошу помощи
← →
SpellCaster (2006-10-19 18:58) [1]Если кнопка всегда на одном и том же месте, посылай мышиный клик окну браузера.
← →
Плохиш © (2006-10-19 19:20) [2]
> пробдывал так:
>
> WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).
> click;
Видно кнопка не является 0м элементом
> (ovElements.item(i).Value = "Recent Charges") then
Точно текст в кнопке такой?
← →
Dmitrij_K (2006-10-19 23:33) [3]Рабочий код на работе есть, завтра напишу
← →
Плохиш © (2006-10-20 01:28) [4]
> Dmitrij_K (19.10.06 23:33) [3]
> Рабочий код на работе есть, завтра напишу
У него тоже рабочий. Я даже знаю откуда он его тупо скопировал ;-)
← →
Григорий (2006-10-20 10:00) [5]Вот код этой кнопки в HTML:
<INPUT onfocus=this.blur()
type=image height=20 alt="" width=37
src="Он лайн игра ТЕРРИТОРИЯ .files/ok.gif"
border=0>
Пытался тупо нажимать на всё:
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 (ovElements.item(i).tagName = "INPUT") then
ovElements.item(i).Click;
но тоже без результатно.
С мышкой не подходит т.к. программа может быть свёрнутой.
← →
Dmitrij_K (2006-10-20 12:19) [6]
// нажатие на компонент
function WBClick(const aTagName,aTagParam,aParamValue:WideString):Boolean;
var
j,k : Integer;
IDoc : IHTMLDocument2;
ITag : IHTMLElement;
ICollection : IHTMLElementCollection;
p : OleVariant;
begin
Result := False;
IDoc := WB.GetDocument;
if IDoc.all.tags(aTagName).QueryInterface(IHTMLElementCollection, ICollection)=S_OK then
begin
k := ICollection.length - 1;
for j:=0 to k do
begin
if ICollection.item(j,0).QueryInterface(IHTMLElement, ITag)=S_OK then
begin
p := ITag.getAttribute(aTagParam, 0 or 2);
if VarType(p)=varOleStr then
begin
if p=aParamValue then
begin
ITag.click;
Application.ProcessMessages;
Result := True;
Break;
end
end
end
end
end
end;
илиfunction WBClickbyName(const FieldName:WideString):Boolean;
var
IDoc : IHTMLDocument2;
ITag : IHTMLElement;
IDisp : IDispatch;
begin
Result := False;
IDoc := WB.GetDocument;
IDisp := IDoc.all.item(FieldName,0);
if (IDisp<>nil) and (IDisp.QueryInterface(IHTMLElement, ITag)=S_OK) then
begin
ITag.click;
Application.ProcessMessages;
Result := True;
Break;
end
end;
в твоем случае можно такif WBClick("INPUT", "src", "Он лайн игра ТЕРРИТОРИЯ .files/ok.gif") then
SHowmEssage("OK")
← →
Dmitrij_K (2006-10-20 12:22) [7]и еще вместо
IDoc := WB.GetDocument;
пишиif WebBrowser1.Document.QueryInterface(IHTMLDocument2, IDoc)=S_OK then
n.r. у меня не TWebBrowser а TEmbeddedWB
← →
Григорий (2006-10-21 11:12) [8]большое спасибо Dmitrij_K. Всё работает на 5!!!
← →
Григорий (2006-10-21 12:46) [9]Dmitrij_K подскажите какие данные нужно передать для вашей функции чтоб нажалась кнопка с таким html кодом:
<a href="#" class=b2 id="enter11795552" onclick="location.href="?sid=574bfecc54b008a68bd823d984048fdf&request_type=3&act ion=enter_request&request_id=1795552"; disableAllGroup(); return false;"> <nobr>в бой</nobr> </a>
← →
Dmitrij_K (2006-10-21 16:02) [10]WBClick("Имя тега", "имя параметра", "значение параметра")
WBClick("A", "id", "enter11795552")
если только ID всегда такой
← →
Григорий (2006-10-23 11:48) [11]WBClick("A", "id", edit1.text)
узнаю id значение вручную и через edit ввожу. Результата нет.
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.057 c