PDA

View Full Version : مقدار دادن به ادیتور موجود در کنترل web Browser



sara_aryanfar
شنبه 04 آذر 1391, 16:26 عصر
با سلام فرض کنید ما در وب براوزر صفحه ای رو باز کردیم که داخل اون یک ادیتور متن هست چطوری می تونیم متن مورد نظر رو داخل اون ادیتور وارد کنیم

jalil_m
دوشنبه 06 آذر 1391, 13:13 عصر
احتمالا باید با جاوا اسکریپت آیدی اون ادیتور رو بگیرید و باهاش کار کنید.

samadblaj
دوشنبه 06 آذر 1391, 15:05 عصر
سلام این مثال رو چند روز پیش برای یکی از دوستان زدم امیدوارم کمکتون کنه :

سلام باید یه کم با تگ ها کار کنید ...
سایت پرشین گیگ رو توی webbrowser بالا میارید... بعد که به صورت کاملا بالا اومد اطلاعات ورود وارد میشه (شما باید توسط یک مرورگر در سورس نام کلید ها رو بدست بیارید تا بتونبد برای مثال توسز توابع ارسال ارگومان روی یک کلید در webbrowser کلیک کنید و یا توی یک text متن وارد کنید...).
بعد وارد میشید آدرس فایل مورد نظر برابر میشه با تکسی که باید در سایت (webbrowser) قرار بگیره و بعد از این کلید آپلود باید زده بشه بعد از آپلود باید از سورس در webbrowser لینک رو بکشید بیرون...
مثلا صفحه ورود prsiangig رو در سیستم خودتون ذخیره کنید و با VS بازش کنید می بینید که فیلد ورود یک نام داره که اینجا Username است...

توسط این کد اطلاعات ورود رو وارد کن :

HtmlDocument doc = this.webBrowser1.Document;
doc.GetElementById("Username").SetAttribute("Value ", "samad");
doc.GetElementById("Password").SetAttribute("Value ", "blaj");
webBrowser1.Document.GetElementById("btnSubmit").I nvokeMember("click");

بعد وارد میشه به صفحه مورد نظر آدرس فایل رو هم به همین روش وارد فیلد لینک کن و روی کلید آپلود کلیک کن بعد لینک رو از صفحه بکش بیرون...

موفق باشید./

http://barnamenevis.org/attachment.php?attachmentid=95108&stc=1&d=1353153620

aradrobo
جمعه 24 آذر 1391, 10:06 صبح
چون صفحات editor دارای تگ Body هستند و دارای ID و Name نیستند . از این راهی که دوستان معرفی می کنند امکان پذیر نمی باشد . راهش یک چیز دیگر است .

samadblaj
جمعه 24 آذر 1391, 14:28 عصر
از همین روش و ارسال tab به شی هم میشه...
من خودم یه پروژه رو به این شکل نوشتم...

aradrobo
جمعه 24 آذر 1391, 18:57 عصر
از همین روش و ارسال tab به شی هم میشه...
من خودم یه پروژه رو به این شکل نوشتم...

همانطور که در تصاویر زیر مشاهده می کنید . امکان پذیر نیست به روشی که دوستان عرض می کنند .

danialafshari
جمعه 24 آذر 1391, 18:58 عصر
سلام دوست عزیز
باید با element های وب براوزر و تگ ها کار کنی که میتونی با مرورگر Chrome و Inspect Element اونها رو بدست بیاری
یه نمونه کد اینجا قرار میدو برای وارد کردن اطلاعات به google
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.OriginalString == "http://www.google.com/")
{
foreach (HtmlElement element in webBrowser1.Document.GetElementsByTagName("input") )
{
if (element.GetAttribute("type") == "text")
{
element.InnerText = ("Programming in C#‎");
}
}
}
}

موفق باشی

aradrobo
جمعه 24 آذر 1391, 21:01 عصر
سلام دوست عزیز
باید با element های وب براوزر و تگ ها کار کنی که میتونی با مرورگر Chrome و Inspect Element اونها رو بدست بیاری
یه نمونه کد اینجا قرار میدو برای وارد کردن اطلاعات به google
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.OriginalString == "http://www.google.com/")
{
foreach (HtmlElement element in webBrowser1.Document.GetElementsByTagName("input") )
{
if (element.GetAttribute("type") == "text")
{
element.InnerText = ("Programming in C#‎");
}
}
}
}

موفق باشی

به جای این همه خط که شما گفتین . این کار راحت تر نیست ؟

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.GetElementById("q").InnerText = "RoboWar.Ir"; }


سوال اینجاست ، که اگر مثل عکسی که در پست قبل گذاشتم ، دارای تگ Name , Id , Type و ... نباشد و فقط دارای Body باشد ، حال باید چه کار کنیم ؟ به عکسی که گذاشته بودم خوب نگاه کنید .

danialafshari
جمعه 24 آذر 1391, 21:25 عصر
input تگ است به جای input تگ body می گذاریم

aradrobo
شنبه 25 آذر 1391, 21:53 عصر
input تگ است به جای input تگ body می گذاریم

اگر این کار رو هم بکنید باز هم بی فایده می باشد . و نمی توانید جواب بگیرید . زیرا در قسمت
if (element.GetAttribute("type") == "text")
{
element.InnerText = ("Programming in C#‎‎");
}
چیزی برای نوشتن ندارید .

sara_aryanfar
شنبه 25 آذر 1391, 22:35 عصر
دوستان گرامی کلا بحث ادیتور فرق می کنه و الا من می تونم با ایدی یا بدون اون هم به تکس باکس ها و غیره مقدار بدم اما ادیتور متفاوته

systam
دوشنبه 01 دی 1393, 23:27 عصر
سلام
جناب افشاری حالا باید چیکار کنیم من از تگ body هم استفاده کردم ولی باز هم نشد

Mosafers
سه شنبه 02 شهریور 1395, 11:42 صبح
سلام دوستان ببخشید پست خیلی قدیمی بود ولی گفتم شاید کاملتر باشد.
اساتید محترم یک روش برای ارسال متن به ادیتور ها سراغ ندارند (چطور یه رشته را از web browser به ادیتور مثلا همین سایت بفرستم؟)
142134