سلام
دوستان چطور میشه مقدار تکس باکس داخل یک سایت را به فرم خودم انتقال بدم یا برعکس
سلام
دوستان چطور میشه مقدار تکس باکس داخل یک سایت را به فرم خودم انتقال بدم یا برعکس
اگر به هیچ وجه امکان دسترسی به اون تکست برای شما میسر نیست مجبورید سورس اون صفحه وب رو بخونید و دنبال تکسته مورد نظر بگردید مثلا:
string html = new WebClient().DownloadString("http://twitter.com");
یه کاری کن...
سایتو تو webBrowser لود کن و از متد getElement متنشو بگیر
اگه بخوام با زدن دکمه مثلا send فرم خودم دکمه send سایت عملیات ارسال انجام بده باز از متدهای بالا استفاده کنم؟
ببینید شما دسترسی به جزییات صفحات بعنوان فقط خواندنی خواهید داشت اگه سایت برای خودتون هست
میتونید شبیه کار رو در کد خودتون اعمال کنید
کار اون دکمه در وب چی هست؟
شما در واقع تا جایی که من میدونم نمیتونید رویدادی در صفحه ای که شما بهش دسترسی ندارید رو اجرا کنید. اگه سایت ماله خودتون بود میتونستید اینکار رو بکنید جون تمام کارهای و رویدادهای اون دکمه وب رو میدونستید. اما پشت اون کد دکمه کلی کار داره انجام میشه . البته من به قطعیت نمیگم شدنی نیست شاید راهی باشه فقط بتونید کلیک اون دکمه رو صدا کنید از برنامتون . اونوقت مشکل اینکه دیتای شبیه سازی فرموتن رو چجوری پاس بدید. البته تازه اگه اون فرم روی وب دیتای فرمش رو بصورت post بفرسته که دیگه سخت تره
شما دوستان چرا مسائل رو سخت میکنید؟
یه وب بروزر بزارید داخل فرم....ادرس سایت ثبت نام رو لود کنید.....مقادیر تکست باکس فرم را با دستوری که فکر میکنیم بلدید به تکست باکس وب بروزر بفرستید برای تایید یا همون دکمه ارسال هم نام اون دکمه رو از داخل سورس سایت بدست بیارید و با دستور زیر روی اون کلیک کنید :
برای مثال فرض کنیم نامش کلیک باشه
WebBrowser1.Document.All().InvokeMember("click")
کد کامل رو سرچ کنید دقیق الان نتونستم بنویسم
var sendpost = webBrowser1.Document.GetElementsByTagName("input") ;foreach (HtmlElement input in sendpost)
{
if (input.GetAttribute("className") == "btn")
{
input.InvokeMember("click");
}
}
آخرین ویرایش به وسیله samiasoft : دوشنبه 05 تیر 1396 در 19:37 عصر
دوست گرامی کاری که می خوای انجام بدی با کنترل webBrowser به دلیل امکانات محددوی که در اختیار برنامه نویس قرار میدهد قابل انجام نیست.برای انجام چنین کاری شما به داریور یه مرورگر نیاز دارید تا امکان پر کردن فیلد ها و submit کردن فرم تحت وب را داشته باشید.برای این کار من selenium webdriver را به شما پیشنهاد میکنم.در گوگل جستجو نمایید رفرنس ها رو به پروژه اضافه کنید و داکیومنت ان را مطالعه نمایید.
www.seleniumhq.org/projects/webdriver/
First,solve the problem then write the code