ورود

View Full Version : سوالی در مورد webBrowser



tehran2009
جمعه 01 آبان 1388, 17:41 عصر
دوستان من با استفاده از web browser وارد یک سایتی می شم.
می خوام وقتی وارد شدم برنامه یک اررور بده که مثلاً ورود با موفقیت بوده. و اگر سایت اررور داد برنامه توی یک لیبل بنویسه پسورد غلطه.

مثلاً من می خوام وارد بلوگفا بشم. اینم سورس برنامه من.


WebBrowser1.Navigate "http://www.blogfa.com/Desktop/Login.aspx?"
WebBrowser1.Document.All("username").Value = Text1.Text
WebBrowser1.Document.All("password").Value = Text2.Text
WebBrowser1.Document.All("btnSubmit").Click


ممنون میشم ادیتش کنید برام.

bahman_akbarzadeh
جمعه 01 آبان 1388, 19:06 عصر
اولا اين كدي كه شما نوشتيد كار نمي كنه. چون بعد از اينكه URL رو تنظيم كرديد، داريد به تكست باكس ها مقدار ميديد كه اين غلطه. چون هنوز صفحه لود نشده.
بايد از رويداد PageComplete (دقيقا يادم نيست اين بود يا نه) استفاده كنين و مقدار دهي هارو اونجا انجام بديد.
EventArgs اين رويداد، URL صفحه فعلي رو داره. پس از روي URL ميتونيد تشخيص بديد كه الان به صفحه خطا وصل شده يا به صفحه مورد نظر.
حالا ميتونيد خطاي اتفاق افتاده رو از داخل محتواي صفحه (webBrowser1.DocumentText) بكشين بيرون.
موفق باشيد.

tehran2009
جمعه 01 آبان 1388, 19:11 عصر
Private Sub Command1_Click()
WebBrowser1.Document.All("username").Value = Text1.Text
WebBrowser1.Document.All("password").Value = Text2.Text
WebBrowser1.Document.All("btnSubmit").Click
End Sub

Private Sub Form_Load()
WebBrowser1.Navigate "http://www.google.com/Desktop/Login.aspx?"
End Sub

درستش کردم.
حالا اگه ممکنه راهنمایی کنید. ( اگه ممکنه با سورس توضیح بدین ممنون میشم.)

tehran2009
شنبه 02 آبان 1388, 12:03 عصر
دوستان کسی سورسی چیزی نداره بزاره مشکل من حل بشه ؟؟

vb.c++
شنبه 02 آبان 1388, 14:35 عصر
دوست عزیز کافی فقط یه کلمه کلیدی تو صفحه رو انتخاب کنی که اگه صفحه باز شد اون کلمه کنترل بشه بعد پیغام ظاهر بشه .
If InStr(q.body.innerHTML, "???????????") Then

vb.c++
شنبه 02 آبان 1388, 14:39 عصر
یادم رفت :قبلش Q رو تعریف کن


set q=webBrowser1.Document

tehran2009
چهارشنبه 06 آبان 1388, 15:39 عصر
راه دیگه ای نیست ؟؟؟
مثلاً با یک خط دستور ؟؟

vb.c++
پنج شنبه 07 آبان 1388, 11:45 صبح
دوست عزیز با این راه هم میتونی
If WebBrowser1.ReadyState = READYSTATE_COMPLETE Then
MsgBox ......

tehran2009
پنج شنبه 07 آبان 1388, 15:07 عصر
اررور می ده ...

site-111
جمعه 08 آبان 1388, 10:58 صبح
دوست عزیز با این راه هم میتونی
If WebBrowser1.ReadyState = READYSTATE_COMPLETE Then
MsgBox ......

از این چگونه استفاده میشه ؟

vb.c++
شنبه 09 آبان 1388, 11:53 صبح
هلو خشمزست ولی یکم خلاقیت به خرج بدید
do until WebBrowser1.ReadyState = READYSTATE_COMPLETE

DoEvents

loop

msgbox .....قبل do هم یه تابع تایمر بزاری با wait 300 بهتر جواب می
یگیری
Private Declare Function GetTickCount Lib "kernel32" () As Long

Function Wait(How)
r = GetTickCount + How
Do Until r < GetTickCount
DoEvents
Loop
End Function

Mousavmousab
پنج شنبه 27 مرداد 1390, 11:17 صبح
سلام

کد بالا مشکلش اینه که به جای اینکه کلمه ی username رو نوشتی باید بنویسی uid چون توی سایت بلاگفا textbox یوزر به نام uid معرفی شده نه username

موفق باشید

farshid_vb
چهارشنبه 11 آبان 1390, 13:42 عصر
ممنون ولی از کجا میشه تمام کارهایی رو که web browser منظورم این کامپوننت هستش را پیدا کرد ؟
خود این کامپوننت هم نقطه میزنی
همه کارهاشو نمیاره
مثلا من در یه سایتی واسه لاگین
تکستها را ست کردم
ولی submit لاگین از نوع عکس هستش و نام هم نداره
میخوام روش کلیک بشه
بدون دستور
sendkeys
چون ممکنه فرم در حالت فکوس نباشه
لطفا نفرمائید
خوبفرم رو فوکوس کن بعد سند کی
:قهقهه:
ولی خیلی توپه
من سایتی دارم که اطلاعات بهش بدی مثلا
1
1
و یا
1
2
یعنی کتاب اول
صفحه 1
بعد اطلاعات را میاره
مخوام همش را برام لیست کنه و در یک لیست ذخیره کنه
البته دقیقا درباره کتاب نیست ...
(اطلاعات محرمانه)
:لبخند: