PDA

View Full Version : سوال: مشکل در ارسال متن از سی شارپ به صفحه ادیتور سایت



soheilnew
یک شنبه 12 شهریور 1396, 17:38 عصر
سلام
من با گت المنت و با استفاده از تگ نیم و ایدی میخواستم مطلبو به ادیتور وبلاگ بفرستم
اما این ادیتور textarea نه id و نه name داره
کدهاش :

<textarea style="width: 100%; height: 100%; resize: none; outline: medium none; text-align: left; -moz-tab-size: 4;" dir="ltr" class="cke_source cke_reset cke_enable_context_menu cke_editable cke_editable_themed cke_contents_rtl" tabindex="0" role="textbox" aria-label="ویرایشگر متن کامل, mtex" title="ویرایشگر متن کامل, mtex" aria-describedby="cke_168"></textarea>
ممنون میشم راهنمایی کنید چطور بتونم به این textarea ، متن داخل تکست باکسو بفرستم

Moien Tajik
یک شنبه 12 شهریور 1396, 19:29 عصر
2 راه میتونید انتخابش کنید :

1- با استفاده از TagName ، همه ی TextArea های موجود در صفحه رو پیدا کنید و با استفاده از index اون textarea موردنظرتون رو انتخابش کنید :
var textArea = webBrowser1.Document.GetElementsByTagName("textarea")[0];

2- با استفاده از Class هاش پیدا کنیدش : https://stackoverflow.com/a/8461952/6661314

soheilnew
یک شنبه 12 شهریور 1396, 22:38 عصر
2 راه میتونید انتخابش کنید :

1- با استفاده از TagName ، همه ی TextArea های موجود در صفحه رو پیدا کنید و با استفاده از index اون textarea موردنظرتون رو انتخابش کنید :
var textArea = webBrowser1.Document.GetElementsByTagName("textarea")[0];

2- با استفاده از Class هاش پیدا کنیدش : https://stackoverflow.com/a/8461952/6661314

خیلی ممنون از توجه شما
میشه در مورد کد اولی توضیح بدین ؟
چطوری مقدار ارسال کنم ؟

Moien Tajik
دوشنبه 13 شهریور 1396, 09:48 صبح
تایپ المنت هایی که از WebBrowser پیدا میکنید ، HtmlElement هست .
همه HtmlElement ها یک سری Property و Method دارن که شما میتونید بهشون دسترسی داشته باشید و با استفاده از اون ها روشون عملیات های مختلفی انجام بدید .

شما وقتی Textarea موردنظرتون رو پیدا کردید ، با استفاده از InnerText که یکی از Property های HtmlElement هست ، میتونید مقدار ( Value ) داخل اون Element رو تغییر بدید :

HtmlElement textArea = webBrowser1.Document.GetElementsByTagName("textarea")[0];
textArea.InnerText = textbox1.Text;


https://stackoverflow.com/a/14681398