رفتن به مطلب
  • 0

مشکل در گت المنت و ارسال متن به فیلد در webview


vahid.taj

سوال

سلام

من از اموزش 3 پارتی آقای ایزدی استفاده کردم برای گت المنت

در برنامه من کپچا وجود نداره

فقط 3تا تکست دارم که به سایت انتقال بدم

کدها بصورت زیر هست که طبق آموزش پیش رفتمو اینا ازش دراومد

حالا ببینید مشکل کجاست

WebView1 تو دیزاینر هست و بعداز لود از آیتم  هاا داخلش نمیشه استفاده کرد میشه گفت قفلن مث تکست و باتن ووووو

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


Dim HttpJob1 As HttpJob
	Dim WebViewExtras1 As WebViewExtras
	Dim WebView1 As WebView



HttpJob1.Initialize("MyJob1",Me)
	WebViewExtras1.addJavascriptInterface(WebView1,"B4A")
	WebViewExtras1.addWebChromeClient(WebView1,"")
WebView1.LoadUrl("URL")




Sub WebView1_PageFinished (Url As String)
	WebViewExtras1.executeJavascript(WebView1,"B4ACallSub('Process_HTML',true,document.documentElmentes.outerHTML)")
	
End Sub



Sub Process_HTML(HTML As String)
	HTML = HTML.Replace("""","'")
End Sub



Sub EditText1_TextChanged (Old As String, New As String)
	
	WebViewExtras1.executeJavascript(WebView1,"document.getElmentesByName('text')[0].value = '"&New&"';")
End Sub


لینک ارسال
به اشتراک گذاری در سایت های دیگر

12 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

 

سلام دوستان

 

ممنون آقای نیکروان اون مشکل حل شد

 

دوستان باتن نه آیدی داره نه نیم ! از value استفاده شده که کلی گشتم کدی واسه گت المنت value نبود که کارمو راه بندازه

 

کل کد باتن در سایت بصورت زیر هست که از inspect element گرفتم . جز اینا چیز دیگه ای نداره . آیا راهی هست واسه کلیک کردن این باتن ؟

td><input type="submit" value="Next"></td>

باید با استفاده از تگ input روش کلیک کنید.

web.executeJavascript(WebView1,"document.getElementsByTagName('input')[0].click()")  

توی صفحه ای که هستید Ctrl+U بزنید و سورس کل سایت رو ببینید ، از بالا تگ های Input رو از 0 بشمارید ، ببینید تگ باتن چندمیه.

بعد اون عدد 0 رو تغییر بدید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ثبت نام با موفقیت انجام شد

 

دقیقا متن اینه و من تو بیسیک از متن کامل استفاده کردم نشد ، از موفقیت استفاده کردم نشد ، .....

 

بدجور گیر این قسمتم همش چش انتظارم تو تاپیک بلکه فرجی شه :S

 

راه دیگه ای نیست واسه تشخیص اینکه متن موجود هست تو سورس یا نه ؟

 

آیا کدی که دادید تست کردید و نتیجه داد ؟

بله تست کردم جواب داده.

وقتی سورس رو میگیرید توی یه مسیج باکس بیاریدش ببینید اصلا توی کد ها همچین نوشته ای وجود داره یانه.

یا سورس رو پیوست کنید ببینم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

سپاس از آقای نیکروان

 

 

بعداز کلیک روی باتن چطور میشه سورس رو چک کرد و اگه توش کلمه "ثبتنام با موفقیت انجام شد" بود توی برنامه نشون بدم حالا تو لیبل یا مسیج ؟!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

سپاس از آقای نیکروان

 

 

بعداز کلیک روی باتن چطور میشه سورس رو چک کرد و اگه توش کلمه "ثبتنام با موفقیت انجام شد" بود توی برنامه نشون بدم حالا تو لیبل یا مسیج ؟!

توی رویداد پیج فینیش بیاید سورس سایت رو بگیرید.

web.executeJavascript(webview1,"B4A.CallSub('source',true,document.documentElement.outerHTML)")

بعد شرط بذارید که اون کلمه توی کدها وجود داره یانه.

Sub source(s As String)
	If s.Contains("ثبتنام با موفقیت")=True Then
		Msgbox("ثبت نام انجام شد","")
	End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون از پاسخگویتون

من از کد زیر استفاده کردم اما تشخیص نداد

Sub WebView1_PageFinished (Url As String)

	WebViewExtras1.executeJavascript(WebView1,"B4A.CallSub('Process_HTML',true,document.documentElements.outerHTML)")
	ProgressDialogHide

End Sub
Sub Process_HTML(HTML As String)

HTML = HTML.Replace("""","'")

	If HTML.Contains("موفقیت") = True Then
ToastMessageShow("ثبت نام انجام شد",False)

	End If
End Sub

و اینکه بعداز ثبت متن تکست باکسا پاک شه یعنی فرم ریست شه واسه ثبتنام بعد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام.

شما الان دقیقا میخواین چیکار کنید؟ و روی چه سایتی؟

آدرس سایت و کاری که میخواین انجام بدید بگید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه سایت که واسه لاگینش یا ثبتنامش نیاز به کپچا نیست ، میخوام از داخل برنامه که  3تا تکست باکس دارم موقع تایپ در برنامه اطلاعات درون تکست باکس به فیلدهای درون سایت منتقل بشن و بعداز کلیک روی باتن وارد بشه

مشکل همینه که گفتم با استفاده از کدهای بالا موفق نشدم . یعنی موقع تایپ کردن در تکست های درون برنامه ، اون متن ها به سایتی که در وب ویو لود شده منتقل نمیشن

فیلد های سایت دارای المنت نیم هستن و آیدی ... ندارند

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه سایت که واسه لاگینش یا ثبتنامش نیاز به کپچا نیست ، میخوام از داخل برنامه که  3تا تکست باکس دارم موقع تایپ در برنامه اطلاعات درون تکست باکس به فیلدهای درون سایت منتقل بشن و بعداز کلیک روی باتن وارد بشه

مشکل همینه که گفتم با استفاده از کدهای بالا موفق نشدم . یعنی موقع تایپ کردن در تکست های درون برنامه ، اون متن ها به سایتی که در وب ویو لود شده منتقل نمیشن

فیلد های سایت دارای المنت نیم هستن و آیدی ... ندارند

بنده هم گفتم که اگه راهنمایی شفاف تری میخواین ، سایتتون رو قرار بدید تا ببینم تکست باکس هاش به چه صورت هست و چطور میشه باهاش ارتباط برقرار کرد.

 

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

به این صورت بنویسید:

WebViewExtras1.executeJavascript(WebView1,"document.getElementsByName('text')[0].value = '"&New&"';")
لینک ارسال
به اشتراک گذاری در سایت های دیگر

شاید حتما کلمه "موفقیت" وجود نداشته.

بازهم بررسی بکنید و خوب دقت کنید ، و همون متنی که تو سایت هست همون متن رو کپی کنید توی بیسیک.

 

برای ریست کردن هم اگه خودش دکمه ریست تو سایت داره که میشه روش کلیک کرد ، وگرنه میتونید خودتون هم تکست هارو خالی کنید. با همون دستور که متن ادیت تکست هارو توش میریزید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ثبت نام با موفقیت انجام شد

 

دقیقا متن اینه و من تو بیسیک از متن کامل استفاده کردم نشد ، از موفقیت استفاده کردم نشد ، .....

 

بدجور گیر این قسمتم همش چش انتظارم تو تاپیک بلکه فرجی شه :S

 

راه دیگه ای نیست واسه تشخیص اینکه متن موجود هست تو سورس یا نه ؟

 

آیا کدی که دادید تست کردید و نتیجه داد ؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دوستان

 

ممنون آقای نیکروان اون مشکل حل شد

 

دوستان باتن نه آیدی داره نه نیم ! از value استفاده شده که کلی گشتم کدی واسه گت المنت value نبود که کارمو راه بندازه

 

کل کد باتن در سایت بصورت زیر هست که از inspect element گرفتم . جز اینا چیز دیگه ای نداره . آیا راهی هست واسه کلیک کردن این باتن ؟

td><input type="submit" value="Next"></td>
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...