Як програмно клацнути на посилання в Internet Explorer

Існує Web-сторінка, завантажена в Internet Explorer, необхідно клацнути програмно на заздалегідь відоме посилання. Як це реалізувати?

ViktorZ (2005-11-06 19:04) [1]

А навіщо якщо не секрет, хочеш зробити накрутчик?

Volf_555 (2005-11-06 19:15) [2]

Volf_555 (2005-11-06 21:14) [3]

Ну так що може хтось допоможе вирішити мені дану проблему?

SergP. (2005-11-06 23:33) [4]

Якщо TWebbrowser, то можу підказати.

Volf_555 (2005-11-07 02:26) [5]

Допустимо в TWebBrowser - як здійснити тоді?

Volf_555 (2005-11-07 02:47) [6]

WrbBrowser1.Navigate(". ") не пропонувати :-)

Клікнути за посиланням:

SergP. (2005-11-07 08:41) [8]

Якщо з фреймами, то клікнути в i-му кадрі за j-им посиланням:

Volf_555 (2005-11-08 11:05) [9]

i – якого типу? Integer чи String?

Я пробував з integer

Volf_555 (2005-11-10 2:23) [11]

написав таке: WebBrowser1.OleObject.document.frames.item(0).document.all.tags("a").item(1).click Вилазить помилка: "Project1.exe raised exception class EOleException with message "Член групи не знайдений." Process stopped. Use Step or Run to continue."

Volf_555 (2005-11-10 2:45) [12]

SergP, наведи робочий приклад

> Volf_555 (10.11.05 2:23) [11] > написав таке: > WebBrowser1.OleObject.document.frames.item(0).document.all. > tags("a").item(1).clickВилазить помилка: > "Project1.exe raised exception class EOleException with > message "Член групи не знайдено". Process stopped. Use Step > або Run to continue."

ну правильно. Якщо у тебе в документі немає фреймів, або немає посилань (або потрібного посилання немає), або взагалі документ не завантажений, то й видаватиметься, що "Член групи не знайдено"

А як клацнути, а вірніше заповнити поле input якщо сторінка складається з кількох вкладених один одного фреймів?

Наприклад, на головній сторінці є два кадри, один для шапки, а інший для тіла документа. Але нижній кадр містить у собі сторінку, яка у свою чергу сама складається з кадрів.

Як дістатися до певного кадру? Я спробував виявити це практичним шляхом, але, на жаль, нічого не вийшло :(

procedure TForm1.Button8Click (Sender: TObject); frame1:=WebBrowser1.OleObject.document.frames.item(1); frame2:=frame1.document.all.tags("frame").item(i); frame2.document.all.tags("input").item(1).value:="HHHHHHHHHELLOOOOO"; except memo3.Lines.Add("у кадр номер "+inttostr(i)+" не підходить"); end; end; end;

> А як натиснути, а вірніше заповнити поле input якщо сторінка > складається з кількох вкладених один одного фреймів?

не знаю. Експериментувати немає часу. Але спробуй так:

procedure TForm1.Button8Click (Sender: TObject); frame1:=WebBrowser1.OleObject.document.frames.item(1); frame2:=frame1.document.frames.item(i);frame2.document.all.tags("input").item(1).value:="HHHHHHHHELLOOOOO" ; except memo3.Lines.Add("у кадр номер "+inttostr(i)+" не підходить"); end; end; end;

Можливо вийде.Але не гарантую

Ні не виходить :(

Може хтось знає рішення?