PDA

View Full Version : اجرا کردن یک کد جاوا اسکریپت با کمک TWebbroswerاز طریق دلفی؟



AlirezaBahredar
یک شنبه 31 شهریور 1387, 10:53 صبح
با سلام......
من بایستی با کمک برنامه ام به یک وب سایت Login کنم.اما متاسفانه این سایت یک فرم Login داره که دکمه Submit نداره.اینکه می گم دکمه Submit نداره واقعا اینجوری نیست.دکمه داره ولی از نوع ImageButton هست و برای ورودش با کمک یک تابع js عملیات ورود را انجام میده.متاسفانه کلیه مثالهای که تو این سایت یا سایت About.com وجود داره همگی درست کار می کنند اما با دکمه واسه ارسال یا همان Submit.حالا من میخوام به کمک دلفی پس از پر نمودن فیلدهای Username و Password تابع جاوااسکریپت را اجرا کنم تا فرمم Submit شود.
آیا اصولا اینکار شدنیست؟
با تشکر.

AlirezaBahredar
یک شنبه 31 شهریور 1387, 12:06 عصر
مشکل حل شد......
با کمک این تیکه کد


uses
MSHTML_TLB, SHDocVw, ShellAPI;

// function to execute a script function

function ExecuteScript(doc: IHTMLDocument2; script: string; language: string): Boolean;
var
win: IHTMLWindow2;
Olelanguage: Olevariant;
begin
if doc <> nil then
begin
try
win := doc.parentWindow;
if win <> nil then
begin
try
Olelanguage := language;
win.ExecScript(script, Olelanguage);
finally
win := nil;
end;
end;
finally
doc := nil;
end;
end;
end;

saeedjaihoni
جمعه 27 اردیبهشت 1392, 06:06 صبح
اينم يك مثال از سایت About.com براي كنترل Button


procedure TForm1.Button1Click(Sender: TObject);
var
script : string;
begin
//locate the first element with ID attribute = "main" and show its tag

script := 'var elemMain = document.getElementById("main") ; if (elemMain != null) { alert(elemMain.tagName) ; }';

ExecuteScript(EmbeddedWB1.Document as IHTMLDocument2, script, 'javascript')
end;