PDA

View Full Version : سوال: کلیک روی یک دکمه از طریق Webbrowser



Mosafers
چهارشنبه 21 مهر 1395, 21:54 عصر
سلام دوستان عزیز طاعات و عباداتون قبول باشه.
بنده حقیر میخوام روی یک دکمه کلیک کنم موفق نمیشه خواهش میکنم اگه اطلاعاتی دارید راهنمایی بفرمایید.
کد دکمه به این شکل هست :

<input type="submit" class="btn primary" style="font-size:9pt;width:220px;" onclick="document.getElementById('npform').target='_self';d ocument.getElementById('npform').action='/panel786887354/new_post';document.getElementById('npform').submit ();" value=" ارسال مطلب و بازسازی سایت ">

از کد زیر هم استفاده کردم جواب نداد :ناراحت:

HtmlElementCollection elc = this.webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement el in elc)
{
if (el.GetAttribute("value").Equals("ارسال مطلب و بازسازی سایت"))
{
el.InvokeMember("Click");
}
}

Mani_rf
پنج شنبه 22 مهر 1395, 13:03 عصر
با توجه به این که توی رویداد کلیک دکمه ای که شما دارید روش کلیک میکنید داره یکسری دستور جاوا اسکریپت رو اجرا میکنه نیازی نیست که حتما دکمه رو کلیک کنید. میتونید اون دستور ها رو اجرا کنید. به این شکل:

wb.Document.GetElementById("npform").SetAttribute("target", "_self");
wb.Document.GetElementById("npform").SetAttribute("action", "/panel786887354/new_post");
wb.Document.GetElementById("npform").InvokeMember("submit") ;

اگر میخوای دقیقا روی کمه کلیک کنی باید trace کنی ببینی کجا به المنتی که میخوای نمیرسه برای این که :
1- ممکنه elc پر بشه یا نه چون درست نوشته نشده و بینش فاصله قرار داره.
2- ممکنه توی صفحه بیشتر از یک input باشه پس به submit نرسی و باید تگ به تگ بری جلو تا به submit برسی.
3- مقایسه value با مقدار فارسی که نوشتی کار درستی نیست و بهتره که چک کنی ببنی type برابر submit هست یا نه یا از طریق class بهش برسی

Mosafers
پنج شنبه 22 مهر 1395, 23:59 عصر
با توجه به این که توی رویداد کلیک دکمه ای که شما دارید روش کلیک میکنید داره یکسری دستور جاوا اسکریپت رو اجرا میکنه نیازی نیست که حتما دکمه رو کلیک کنید. میتونید اون دستور ها رو اجرا کنید. به این شکل:

wb.Document.GetElementById("npform").SetAttribute("target", "_self");
wb.Document.GetElementById("npform").SetAttribute("action", "/panel786887354/new_post");
wb.Document.GetElementById("npform").InvokeMember("submit") ;

اگر میخوای دقیقا روی کمه کلیک کنی باید trace کنی ببینی کجا به المنتی که میخوای نمیرسه برای این که :
1- ممکنه elc پر بشه یا نه چون درست نوشته نشده و بینش فاصله قرار داره.
2- ممکنه توی صفحه بیشتر از یک input باشه پس به submit نرسی و باید تگ به تگ بری جلو تا به submit برسی.
3- مقایسه value با مقدار فارسی که نوشتی کار درستی نیست و بهتره که چک کنی ببنی type برابر submit هست یا نه یا از طریق class بهش برسی
سلام خیلی منونم از زحمت شما کدها رو نتونستم جواب بدم فرم رو پر میکنم اما روی دکمه به هر روشی میزنم کلیک نمیشه شایدم مشکل از دستورات منه.
خیلی از کدهای دیگر رو هم تست کردم نتیجه نگرفتم راه دیگری به نظرتون نمیرسد.
این روش هایی رو هم که اشاره کردید حتماً جواب میدن اما تخصصی می باشند که پیاده سازیش برام سخته یعنی نمی دونم باید چیکارش کنم.

Mani_rf
شنبه 24 مهر 1395, 14:37 عصر
کد HTML صفحه ای رو که میخوای روی دکمه اش کلیک کنی رو بگذار ببینم لطفا

Mosafers
یک شنبه 25 مهر 1395, 18:42 عصر
سلام ببخشید از تاخیر مهندس جان کد html به شکل زیر است من دستورات قبلی شما رو روش تست کردم جواب نداد روش های دیگتون هم برام گنگ بود.
خدمت شما :

<input type="submit" class="btn primary" style="font-size:9pt;width:220px;" onclick="document.getElementById('npform').target='_self';d ocument.getElementById('npform').action='/panel291443248/new_post';document.getElementById('npform').submit ();" value=" ارسال مطلب و بازسازی سایت ">

143048

Mani_rf
دوشنبه 26 مهر 1395, 00:48 صبح
نه منظورم رو بد رسوندم. من میخوام المنت به المنت توی کد های HTML جلو برم تا برسم به دکمه.
توی وب یه چیزی وجود داره به اسم DOM Tree(توی این لینک درباش رو بخون. (http://www.w3schools.com/js/js_htmldom.asp)) و من به اون نیاز دارم برای این که المنت به المنت جلو برم.
برای همین عکس از کد ها برام کارایی نداره. لطفا یا لینک صفحه رو بهم بده که بتونم بررسی کنم یا HTML کامل رو .

Mosafers
دوشنبه 26 مهر 1395, 01:37 صبح
نه منظورم رو بد رسوندم. من میخوام المنت به المنت توی کد های HTML جلو برم تا برسم به دکمه.
توی وب یه چیزی وجود داره به اسم DOM Tree(توی این لینک درباش رو بخون. (http://www.w3schools.com/js/js_htmldom.asp)) و من به اون نیاز دارم برای این که المنت به المنت جلو برم.
برای همین عکس از کد ها برام کارایی نداره. لطفا یا لینک صفحه رو بهم بده که بتونم بررسی کنم یا HTML کامل رو .
سلام در این (http://www.rozblog.com/usercp.php)صفحه است.
لطفا پس از ورود با نام کاربری : mosafers و رمز : Abc123456
به قسمت ارسال مطلب برید در انتهای همین صفحه این دکمه قرار دارد.
مچکرم از شما به خاطر وقت ارزشمندتون

Mosafers
چهارشنبه 28 مهر 1395, 09:15 صبح
کسی نیست راهنمایی کنه :ناراحت:

Mosafers
پنج شنبه 29 مهر 1395, 23:20 عصر
دوستان کسی همچین تجربه ای نداشته منو راهنمایی کنه. بتونم رو این دکمه کلیک کنم.

336699
جمعه 30 مهر 1395, 01:35 صبح
سلام
من هم تست کردم جواب نداد

وقتی با فایرفاکس یا کروم میری داخل سایت و سورس رو میبینی ، اون کدها وجود داره

اما اگه با وب بروزری که در پروژه استفاده کردی سایت رو باز کنی ، اون کدها اصلان وجود نداره

بنظرم از یه بروزر دیگه استفاده کن

Mosafers
شنبه 01 آبان 1395, 08:10 صبح
سلام
من هم تست کردم جواب نداد

وقتی با فایرفاکس یا کروم میری داخل سایت و سورس رو میبینی ، اون کدها وجود داره

اما اگه با وب بروزری که در پروژه استفاده کردی سایت رو باز کنی ، اون کدها اصلان وجود نداره

بنظرم از یه بروزر دیگه استفاده کن
سلام نمیشه به صورت دیگر از دستورات دیگر استفاده کرد در جایی دیدم index دکمه را وارد میکرد در وب مثلا روی دکمه شماره 3 کلیک میکرد.