نقل قول: بدست آوردن GetElementById یک شی در web browser
میتونم بپرسم چرا می خواین کلید اینتر رو به وب بروزر ارسال کنید ؟
نقل قول: بدست آوردن GetElementById یک شی در web browser
ببین تو صفحه وب می خوام یک سری اطلاعات رو ثبت گنم و برای ثبت اون باید روی یک دکمه کلیک کنم که اون دکمه المنت نداره پس باید با کلید اینتر روی اوون دکمه کلیک کنم.
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
برای ثبت اون باید روی یک دکمه کلیک کنم که اون دکمه المنت نداره پس باید با کلید اینتر روی اوون دکمه کلیک کنم.
چرا باید ؟؟؟:عصبانی::عصبانی::عصبانی:
برای تایید یک فرم الزاما نیازی ندارید روی دکمه تایید کلیک کنید.
بفرمایید :
web.Document.Forms(0).submit
بدین روش می تونید یک فرم رو تایید کنید.
نقل قول: بدست آوردن GetElementById یک شی در web browser
داداش دست درد نکنه . من از خود شما تو همین تاپیک سوال کردم شما خودتون گفتین باید اینتر رو بفرستی منم دیگه...
حالا داداش تو این کد که گذاشتی جای 0 باید چی بزارم ؟
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
من از خود شما تو همین تاپیک سوال کردم شما خودتون گفتین باید اینتر رو بفرستی منم دیگه...
حالا داداش تو این کد که گذاشتی جای 0 باید چی بزارم ؟
میشه بگید توی این تاپیک من کی یه همچین چیزی گفتم ؟
0 شماره فرمه و معمولا توی هر صفحه وب 1 فرم هست ولی اگر بیشتر بود به ترتیب اضافه میشه.
یعنی فرم 2 میشه 1 و فرم 3 میشه 2 و ...
نقل قول: بدست آوردن GetElementById یک شی در web browser
داداش دستت درد نکنه . والا دقیق یادم نیست شما گفتی یا جناب واژدی گفتن به هر حال ممنون جواب داد
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
. . . من از خود شما تو همین تاپیک سوال کردم شما خودتون گفتین باید اینتر رو بفرستی منم دیگه...
.
.
.
نقل قول:
نوشته شده توسط
ho3ein.3ven
. . . والا دقیق یادم نیست شما گفتی یا جناب واژدی گفتن به هر حال ممنون جواب داد
سلام علیکم
واقعیتش بنده مطلبی به اینصورت عرض نکرده ام، شاید منظورتان پست #18 است:
نقل قول:
نوشته شده توسط
محسن واژدی
سلام علیکم
برای کلیک و هر عمل دیگری بر روی اشیائی که id و name ندارند میتوانیم از indexشون استفاده کنیم، برای مثال اگر در web-browser به گوگل وارد شده و متنی را تایپ کنیم، برای فشردن دکمه جستجو (اگه id,name نداشته باشه نهایتا از index برای ارسال کلیک استفاده می کنیم):
Private Sub Form_Load()
WebBrowser1.Navigate "http://google.com"
End Sub
Private Sub Command1_Click()
WebBrowser1.Document.Forms(0).elements(6).Click
End Sub
موفق باشید
که در این مورد هم راه حل ارائه شده در مورد کلیک بر روی اشیائی است که id و name ندارند (مانند bottonها)، نه ارسال فرم
موفق باشید
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام . آقا من از همگی معذرت می خوام . MohammadGh2011 ایشون در پست 10 گفتن . امیدوارم ایشون هم از دست من ناراحت نشن.
به هر حال ممنون از همگی
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام مجدد.
جناب واژدی کد هایی که در پست 29 قرار دادید برای بستن یک پیغام رو من روی پروژم گذاشتم و جواب داد ولی بعد از اینکه برنامه رو کامپایل کردم جواب نمیده مشکل از کجاست ؟
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
سلام مجدد.
جناب واژدی کد هایی که در پست 29 قرار دادید برای بستن یک پیغام رو من روی پروژم گذاشتم و جواب داد ولی بعد از اینکه برنامه رو کامپایل کردم جواب نمیده مشکل از کجاست ؟
سلام علیکم
از اونجایی که تابع AutoCloseMessageTimer عنوان پنجره را جستجو میکند ممکنه عنوان پیام باز شده غیر از عنوانی باشه که در این تابع مشخص کرده ایم، چون به کدهاتون دسترسی ندارم نمیتوانم بهتر از این راهنمایی کنم!
موفق باشید
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام .ببین عنوان پنجره هیچ فرقی نمی کنه . چون برنامه وقتی که با خود وی بی اجرا می کنم هیچ مشکلی نداره ولی وقتی کامپایل می کنم پنجره بسته نمی شه.
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام علیکم
وقتی پیام را در زمان طراحی نمایش دهیم با برنامه کامپایل شده بسته نمیشه اما در زمانی که هردوتا برنامه کمپایل شده باشن بدون هیچ مشکلی پیام بسته میشه
موفق باشید
نقل قول: بدست آوردن GetElementById یک شی در web browser
ممنون از شما جواب گرفتم.
میگم راهی وجود داره برای چک کردن اینکه آیا وب لود شده یا نه ؟ این روشی که شما گفتین بعضی وقتا وب کامل لود شده ولی دستورات رو اجرا نمی کنه . توی برنامه من سرعت خیلی مهمه . روش دیگه ای وجود داره که مثلا چک کنه ببینه اگر فلان المنت توی وب لود شده باشه اونوقت دستورات رو اجرا کنه ؟
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
راهی وجود داره برای چک کردن اینکه آیا وب لود شده یا نه ؟
پاسخ آقای قائم پناه: https://barnamenevis.org/showthread.p...=1#post1536949
با این کد هم میتوانیم چک کنیم که آیا صفحه کاملا بار شده یا خیر (البته شاید در تایمر مناسب نباشه):
کد HTML:
Private Sub Command1_Click()
If LCase(WebBrowser1.Document.Body.parentElement.innerHTML) Like "*</body>" Then
MsgBox "Complete loaded...", vbInformation
End If
End Sub
نقل قول:
روش دیگه ای وجود داره که مثلا چک کنه ببینه اگر فلان المنت توی وب لود شده باشه اونوقت دستورات رو اجرا کنه ؟
میتوانیم خصوصیاتی از عنصر مورد نظر به عنوان مثال نام را در صفحه بار شده چک کنیم
موفق باشید
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
محسن واژدی
پاسخ آقای قائم پناه:
https://barnamenevis.org/showthread.php?348445
با این کد هم میتوانیم چک کنیم که آیا صفحه کاملا بار شده یا خیر (البته شاید در تایمر مناسب نباشه):
کد HTML:
Private Sub Command1_Click()
If LCase(WebBrowser1.Document.Body.parentElement.innerHTML) Like "*</body>" Then
MsgBox "Complete loaded...", vbInformation
End If
End Sub
میتوانیم خصوصیاتی از عنصر مورد نظر به عنوان مثال نام را در صفحه بار شده چک کنیم
موفق باشید
میشه در مورد این کد بیشتر توضیح بدین آخه ارور میده . ممنون
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام
کد را به این صورت زیر تغییر بدین:
کد HTML:
Private Sub Command1_Click()
On Error Resume Next
If LCase(WebBrowser1.Document.Body.parentElement.innerHTML) Like "*</body>" Then
If Err.Number = 0 Then MsgBox "Complete loaded...", vbInformation
End If
End Sub
البته راه دیگه هم استفاده از WebBrowser1.Busy است (اگر صفحه آماده باشد مقدار False در غیر اینصورت True را برمیگرداند (اما چون ممکن است برخی وقت ها تصویر و... بارگذاری شود دوباره مقدار برگشتی True میشود) )
موفق باشید
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
محسن واژدی
سلام
کد را به این صورت زیر تغییر بدین:
کد HTML:
Private Sub Command1_Click()
On Error Resume Next
If LCase(WebBrowser1.Document.Body.parentElement.innerHTML) Like "*</body>" Then
If Err.Number = 0 Then MsgBox "Complete loaded...", vbInformation
End If
End Sub
البته راه دیگه هم استفاده از WebBrowser1.Busy است (اگر صفحه آماده باشد مقدار False در غیر اینصورت True را برمیگرداند (اما چون ممکن است برخی وقت ها تصویر و... بارگذاری شود دوباره مقدار برگشتی True میشود) )
موفق باشید
سلام واقعا ممنون از شما . ولی اینجوری که شما گفتی انجام دادم زیاد خوب نیود . کد هام رو به این صورت تغییر دادم :
Private Sub Timer2_Timer()
On Error Resume Next
w.Document.GetElementById("username").Value = "gdgdfgd"
w.Document.GetElementById("password").Value = "dsdal"
w.Document.GetElementById("submit").Click
If Err.Number = 0 Then
Timer2.Enabled = False
End If
End Sub
اینجوری جواب داد
ممنون از شما
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
سلام واقعا ممنون از شما . ولی اینجوری که شما گفتی انجام دادم زیاد خوب نیود . کد هام رو به این صورت تغییر دادم :
Private Sub Timer2_Timer()
On Error Resume Next
w.Document.GetElementById("username").Value = "gdgdfgd"
w.Document.GetElementById("password").Value = "dsdal"
w.Document.GetElementById("submit").Click
If Err.Number = 0 Then
Timer2.Enabled = False
End If
End Sub
اینجوری جواب داد
ممنون از شما
با سلام :
اگر برنامه رو برای خودت میسازی که هیچی ولی اگر یه برنامه عمومی میشه یا می خوای در مکان های مختلف با سرعت اینترنت های مختلف برنامه رو اجرا کنی از این روش استفاده نکن یا باید interval تایمرت زیاد باشه.
اگر اینتروال تایمرت کمتر از وقتی باشه که صفحه submit شده و شروع به بارگزاری دوباره کند صفحه توی یه loop می افته یعنی فرمو پر میکنه و فرم رو ارسال میکنه و قبل از این که فرم کامل ارسال شه و صفحه جدید بارگزاری شه دوباره فرم رو پر میکنه و ارسال میکنه که یهنی هیچ وقت ارسال نمیشه. ( امیدوارم فهمیده باشی )
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام دست درد نکنه راهنمایی کردی . چندین بار همین مشکلی که میگی برام پیش اومد . ولی در این مورد مشکل خاصی پیش نیومد چون وقتی که بدون ارور برنامه اجرا میشه تایمر غیر فعال میشه و دیگه دستورات رو اجرا نمی کنه . اینترول تایمر هم بر روی 1 .
بازم ممنون از اینکه راهنمایی کردی .
نقل قول: بدست آوردن GetElementById یک شی در web browser
سلام . دوستان کسی راهی برای مخفی کردن وب بروزر داره ؟ آخه وقتی وب بروزر visible=false قرار میگیره اصلا کار نمی کنه . و وقتی هم که اون رو خارج از محدوده فرم قرار میدم سرعتش خیلی پایین میاد . برنامه رو هم کامپیال کردم . حالا راهی به غیر از اینا سراغ داره که کاربر وب بروزر رو نبینه و سرعتش هم پایید نیاد ؟
با تشکر از همگی
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
سلام . دوستان کسی راهی برای مخفی کردن وب بروزر داره ؟ آخه وقتی وب بروزر visible=false قرار میگیره اصلا کار نمی کنه . و وقتی هم که اون رو خارج از محدوده فرم قرار میدم سرعتش خیلی پایین میاد . برنامه رو هم کامپیال کردم . حالا راهی به غیر از اینا سراغ داره که کاربر وب بروزر رو نبینه و سرعتش هم پایید نیاد ؟
با تشکر از همگی
سلام علیکم
w,h,x,y را مطابق 0 قرار بدهیم
WebBrowser1.Move 0, 0, 0, 0
موفق باشید
نقل قول: بدست آوردن GetElementById یک شی در web browser
نقل قول:
نوشته شده توسط
ho3ein.3ven
سلام . دوستان کسی راهی برای مخفی کردن وب بروزر داره ؟ آخه وقتی وب بروزر visible=false قرار میگیره اصلا کار نمی کنه . و وقتی هم که اون رو خارج از محدوده فرم قرار میدم سرعتش خیلی پایین میاد . برنامه رو هم کامپیال کردم . حالا راهی به غیر از اینا سراغ داره که کاربر وب بروزر رو نبینه و سرعتش هم پایید نیاد ؟
با تشکر از همگی
با اجازه جناب واژدی :
روش دوم : می تونی یه پیکچر باکس بندازی روش و بردرشو برداری.