PDA

View Full Version : سوال: کار با هندل های مرورگر



mahdi.sagga
یک شنبه 12 اردیبهشت 1395, 19:55 عصر
سلام و درود خدمت دوستان برنامه نویس بالاخص دلفی کاران . یه سوال دارم که با جستجو به جواب نرسید و به ناچار تاپیک زدم

چطوری از داخل برنامه به تکست باکس ها و فیلدهای یه صفحه وب ، مقدار اضافه کنم و دکمه ای رو که توی صفحه وب هست رو کلیک کنم. با هندل های ویندوزی که نشد. اگه دوستان راهنمایی کنن ممنون میشم .

mahdi.sagga
دوشنبه 13 اردیبهشت 1395, 04:14 صبح
این کد رو هم از یه سایت خارجی پیدا کردم ولی ارور داد . آیا این کد درسته؟

WebBrowser1.OleObject.Document.GetElementByID('nam e').setAttribute('value', 'somename');

Valadi
دوشنبه 13 اردیبهشت 1395, 04:15 صبح
این لینک (http://www.cryer.co.uk/brian/delphi/twebbrowser/read_write_form_elements.htm) ببین

mahdi.sagga
سه شنبه 14 اردیبهشت 1395, 04:00 صبح
این لینک (http://www.cryer.co.uk/brian/delphi/twebbrowser/read_write_form_elements.htm) ببین

جناب Valadi از راهنمایی شما ممنونم بنده کدهای اون صفحه رو بررسی کردم همشون به این کلمه وکلمات مشابه این خطا میگیرن
IHTMLFormElement
این Ihtml چیه؟

یوسف زالی
سه شنبه 14 اردیبهشت 1395, 05:01 صبح
سلام.
خب مشخصه دیگه، شما باید یونیت های مربوطه رو هم اضافه کنید.

mahdi.sagga
سه شنبه 14 اردیبهشت 1395, 06:10 صبح
شما باید یونیت های مربوطه رو هم اضافه کنید.
ممنونم جناب زالی از راهنمایی شما ولی بنده اومدم کل کد رو کپی کردم تو داخل یونیت خودم . و بعد ارور داد آیا باید جای دیگه ای هم کپی کنم؟

یوسف زالی
سه شنبه 14 اردیبهشت 1395, 06:24 صبح
نه، این موارد رو به uses اضافه کنید:
OleCtrls, SHDocVw, MsHtml

mahdi.sagga
چهارشنبه 15 اردیبهشت 1395, 06:41 صبح
جناب زالی ممنون درست شد حالا تو فراخانی تابع خطا داره
به این خط خطا داد
document := TWebBrowser.Document as IHTMLDocument2;

لینک دانلود پروژه رو هم میذارم
http://s6.picofile.com/file/8249951668/fill_Web.rar.html

mahdi.sagga
سه شنبه 01 تیر 1395, 05:59 صبح
ضمن تشکر از کلیه دوستان بنده توی روند تکمیل و برنامه نویسی پروژه بالاخره موفق شدم به انواع فرم اطلاعات بفرستم و صفحه فرم رو لاگین کنم. این پروژه روی صفحات asp و html به خوبی کار میکنه
لینک پروژه رو برای دوستان میذارم تا اگر خواستند استفاده کنن .

FillWeb.rar - 53 KB (http://uplod.ir/yog3lc84ndvm/FillWeb.rar.htm)

ولی دچار یه مشکل شدم . نمیتونم تو صفحات ASP روی لینک های داینامیک کلیک کنم (این نوع از لینک ها معمولا بعد از نتیجه یک جستجو ایجاد میشن) از دوستان اگر کسی راهکاری برای به دست آوردن نام کنترل این نوع از لینک ها تو صفحات ASP ، سراغ داره بنده رو بی نصیب نذاره. با تشکر از همه دوستان دلفی کار

mahdi.sagga
شنبه 05 تیر 1395, 23:05 عصر
با عرض سلامی گرم خدمت دلفی کاران عزیز که روز به روز از تعدادشون کاسته میشه :لبخند:

در خصوص مشکل آخری که تو پست قبلی شرح دادم به یه جاهایی رسیدم . و برای اینکه 100% مشکل بنده حل بشه نیازمند راهنمایی اساتید هستم .
اومدم صفحه asp رو با پسوند html ذخیره کردم تا به کدهای صفحه راحتتر دسترسی داشته باشم دیدم اون لینکایی که توی جستجو ایجاد مشیه این شکلین


<TD><A id="ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder 1_gridSearch_ctl02_lnkKey"
href="javascript:__doPostBack('ctl00$ctl00$ContentPlaceH older1$ContentPlaceHolder1$gridSearch$ctl02$lnkKey ','')">688217853</A>

بعد اومدم یکم اینور اونور در مورد اجرای کدهای جاوا تو webbrowser دلفی سرچ کردم رسیدم به این کد :


procedure TForm1.Button1Click(Sender: TObject);
var script : string;
begin
script := 'Java Code';
ExecuteScript(WebBrowser1.Document as IHTMLDocument2, script, 'javascript')
end;

حالا کد جاوا رو چه طوری توی این دستور اجرا کنم چون اومدم عین کد رو به script نسبت دادم ولی موقع اجرا خطا داد. :ناراحت: دیگه مغزم هنگ کرده دوستان لطفا Help me

mahdi.sagga
سه شنبه 08 تیر 1395, 02:20 صبح
من که گیج شدم واسه اجرای کد های ساده جاوا هم همون خطا رو میده متن خطا اینه

Could not complete the operation due to error 80020101

آیا برای اینکه این خطا داده نشه باید تنظیمات خاصی روی WebBrowser انجام بشه ؟
یا کد خاصی باید نوشته بشه؟ کسی چیزی نمیدونه؟

mahdi.sagga
جمعه 18 تیر 1395, 15:32 عصر
بالاخره پس از کلی جستجو تو تالار که شبیه پیدا کردن سوزن تو انبار کاه میمونه
تو این لینک (http://barnamenevis.org/showthread.php?484627-مشکل-با-TWebBrowser&highlight=%D8%AC%D8%A7%D9%88%D8%A7) جناب برهان تک فرمودن که اشکال اجرا نشدن کد های جاوا تو وب بروزر دلفی مربوط به تنظیمات رجیستری میشه و برای حل این مشکل این کد رو معرفی کردن


procedure TForm1.btnIE10EmulatorClick(Sender: TObject);var
RegObj: TRegistry;
begin
RegObj := TRegistry.Create;
try
RegObj.RootKey := HKEY_LOCAL_MACHINE;
RegObj.Access := KEY_ALL_ACCESS;


if (TOSVersion.Architecture = arIntelX64) then
begin
RegObj.OpenKey('\SOFTWARE\Wow6432Node\Microsoft\In ternet ' +
'Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMUL ATION', True);
end
else if (TOSVersion.Architecture = arIntelX86) then
begin
RegObj.OpenKey('\SOFTWARE\Microsoft\Internet ' +
'Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMUL ATION', True);
end;


RegObj.WriteInteger(ExtractFileName(Application.Ex eName), 10000); // for other versions read msdn
finally
RegObj.Free;
end;
end;



ضمن تشکر از ایشون بابت این معرفی
ولی کد تو سطر RegObj.WriteInteger(ExtractFileName(Application.Ex eName), 10000); خطا میگیره و پیغام میده کلمه Ex تعریف نشده

از دوستان کسی میدونه Ex تو این سطر چیه؟

mahdi.sagga
جمعه 18 تیر 1395, 21:27 عصر
دوستان صلوات بفرستین مشکل حل شد کلمه ex همون اسم پروژه میشه . الان به راحتی صفحه هایی رو که قبلا ارور میدادن باز میشه . بازم ممنوم از همه دوستان :قلب:

mahdi.sagga
سه شنبه 29 تیر 1395, 09:37 صبح
این صفحات asp عجب داستانی شد واسه ما. کسی میدونه چطوری به کنترلهای مخقی و کدی که تو لحظه انتخاب این نوع از کنترل ها تو مرور گر اجرا میشه چطوری میشه دسترسی پیدا کرد؟
تو view sourse صفحه هیج اسم و ردی از این کنترل ها نیست ولی تو خود مرورگر قشنگ دیده میشن . نمیدونم این دیگه چجور چیزیه . تو تالار asp هم چند روز پیش در این مورد پست زدم ولی تا به این لحضه کسی جواب نداده . از دوستان کسی چیزی میدونه ؟ اگر میدونید لطفا یه راهنمایی مختصر کنین بد جور لنگ این مسئله موندم.