دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام دوستان عزیز .
من دیدم که در تاپیک های مختلف نسبت به انجام عمل بر روی یک صفحه وب سوال هایی شده که اکثرا هم بی پاسخ مانده اند . برای همین تصمیم گرفتم این تاپیک رو ایجاد کنم .
حالا برای انجام عملیات زیر بر روی یک صفحه وب ابتدا از منوی Project و قسمت Components کنترل microsoft internet controls رو اضافه کنید .
گرفتن سورس تمام صفحه
WebBrowser1.Document.Body.innerHTML
گرفتن مقدار فيلد
WebBrowser1.Document.All.Item("Name control").Value
مقدار دهي به فيلد
WebBrowser1.Document.All.Item("Name control").Document.Body.innertext
کليک کردن
WebBrowser1.Document.All.Item("Name control").Click
امیدوارم مفید واقع بشه :چشمک:
نقل قول: دسترسي به اجزاي صفحه در کنترل Web browser
يكي كار مي كردي مفيدتر بود ..
از رفرنس:
Microsoft HTML object liberary
اضافة مي كردي ...
كه تمام چیزها object شن
من شخصا از اين module استفادة مي كنم
'************************************************* **********************
'* Coded By : Mohammed Saeed *'
'* e-Mail : MS190@Gawab.com *'
'* Bahrain - Karbabad *'
'************************************************* **********************
Dim objMSHTML As New MSHTML.HTMLDocument 'HTML DOC
Dim objDoc As New MSHTML.HTMLDocument
'-----------------
' *** Reg *** '
Const REG_SZ = 1 ' Unicode nul terminated string
Const REG_BINARY = 3 ' Free form binary
Const HKEY_CURRENT_USER = &H80000001
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
''''''''''''''''''''''''''''''''''
Private Function OPENHTMLDOC(ByVal strURL As String)
' HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Disable Script Debugger
' Set Yes
Disable_Script_Debugger
Set objDoc = objMSHTML.createDocumentFromUrl(strURL, vbNullString)
While objDoc.readyState <> "complete"
DoEvents
Wend
End Function
Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String) 'Edit Key
Dim Ret
RegCreateKey hKey, strPath, Ret 'Create a new key
RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, Len(strData) 'Save a string to the key
' RegSetValueEx Ret, strValue, 0, REG_BINARY, CByte(strData), 4 ' IF Data Binary
RegCloseKey Ret 'close the key
End Sub
Public Sub Disable_Script_Debugger()
Dim strString As String
'Ask for a value
strString = 22
'Save the value to the registry
' SaveStringLong HKEY_CURRENT_USER, "KPD-Team", "BinaryValue", CByte(strString)
SaveString HKEY_CURRENT_USER, "Software\Microsoft\Internet Explorer\Main", "Disable Script Debugger", "yes"
End Sub
ونمونه آن
Dim l As HTMLLinkElement
For i = 0 To objDoc.links.length - 1
Link = objDoc.links.Item(i)
Set l = objDoc.links.Item(i)
MsgBox l.outerText
Next i
براي نشان دادن متني كه لينك است
اميدوارم پاسخ مفیدی اضافه کرده باشم
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام
چطور فقط يک قسمت خاصي از سايت رو در MS Internet Control قرار بديم ؟
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
سلام
چطور فقط يک قسمت خاصي از سايت رو در MS Internet Control قرار بديم ؟
لطفا منظورتون رو واضح تر بگید .
1 ضمیمه
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام
خب وقتي تو کنترل Web Browser سايتي باز ميکنيم مثلا اين صفحه، جايي رو که ميخوام رو فقط نشون بده مثل اين عکس
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام
در مورد مقدار دهي به فيلد
چگونه بفهمیم که "Name Control" چه نامی داره؟
برای مثال میخواهیم در صفحه اول گوگل فیلد سرچ را عبارت"tehran" قرار دهیم
WebBrowser1.Document.All.Item("Name control").Document.Body.innertext
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
نوشته شده توسط
sylverstar
سلام
در مورد مقدار دهي به فيلد
چگونه بفهمیم که "Name Control" چه نامی داره؟
برای مثال میخواهیم در صفحه اول گوگل فیلد سرچ را عبارت"tehran" قرار دهیم
WebBrowser1.Document.All.Item("Name control").Document.Body.innertext
عليك سلام
براي اينكار روش هاي مختلفي وجود داره ولي يكي از بهترين راه هاش اينه كه با همون دستور اولي سورس صفحه رو دربياري بعد از اون تو بيشتر سايتا object ها بصورت id=control name مشخص ميشن كه بجاي control name اسم كنترله مثلا id=ct100_BtnPrint
موفق باشي
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام به همگي
من يه سوال برام پيش اومده
چطوري ميتونيم يه تيكه از متن توي صفحه رو توي يه متغير string بندازيم؟
لطفا جواب بديد سريع
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
مثلا من می خوام با استفاده از WebBrowser1.Document.All.Item("Name control").Click روی یه بنر گرافیکی یا یه لینک مثل لینک زیر کلیک کنم.
<a href="http://www.google.com">سایت گوگل</a>
این کار رو چه جوری انجام بدم، یعنی در این صورت Name control چی میشه ؟؟؟؟؟
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
نوشته شده توسط
mhsn-vb
مثلا من می خوام با استفاده از WebBrowser1.Document.All.Item("Name control").Click روی یه بنر گرافیکی یا یه لینک مثل لینک زیر کلیک کنم.
<a href="http://www.google.com">سایت گوگل</a>
این کار رو چه جوری انجام بدم، یعنی در این صورت Name control چی میشه ؟؟؟؟؟
سلام
من از این استفاده می کنم:
Dim refresh As Object
Set refresh = WebBrowser1.Document.getElementsByTagName("img")(0 )
refresh.Click
میتونی با تغییر عدد مشخص کنی رو کدوم عکس کلیک بشه(ترتیبش)
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
برای این که بتونید نام کنترل را پیدا کنید بهترین راه اینه که از add-on فایر باگ (fire bug) برای فایر فاکس استفاده کنید
بس نصب کافیه روی قسمت مورد نظر کلیک کنید تا مشخصات کامل آن را به شما بدهد
البته این اد آن قابلیت های بسیار بیشتری دارد
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
نوشته شده توسط
warden
سلام
خب وقتي تو کنترل Web Browser سايتي باز ميکنيم مثلا اين صفحه، جايي رو که ميخوام رو فقط نشون بده مثل اين عکس
دوستان من هم همین سوال رو دارم
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
نوشته شده توسط
warden
سلام
خب وقتي تو کنترل Web Browser سايتي باز ميکنيم مثلا اين صفحه، جايي رو که ميخوام رو فقط نشون بده مثل اين عکس
نقل قول:
نوشته شده توسط
sinavb
دوستان من هم همین سوال رو دارم
https://barnamenevis.org/showthread.p...ght=webbrowser
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
ممنون دوست عزیز ولی من می خوام فقط همون تیبل نشون داده شه نه اینکه با اسکرول بیارمش رو اون قسمت
در ضمن من کدی که تو اون صفحه بود رو گزاشتم درون لود صفحه ولی ارور داد
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
الان مشکل من این هست که نمیشه نوشته رو اورد
مثلا من 2 تا عدد رو میفرستم به یک وب سایت اونم یک کاری رو این عدد ها انجام میده حالا خروجی رو چاپ می کنه
چه جوری اون خروجی رو بیارم تو برنامه
عدد های چاپ شده که هیچ اسمی ندارند که من از المنت اونا استفاده کنم
تشکر
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام
من تازه با این کنترل آشنا شدم.
منظورتون گرفتن کل صفحه چیه ؟ ( یا چیز های دیگه ؟)
من آموزش این شی را از کجا تهیه کنم ؟
من این کامپوننت را روی فرم می اندازم ولی سفید رنگه و هیچ شکل خاصی نداره
کسی هست یه مقدار توضیح بده به من که باید چطوری ازش استفاده کنم ؟
مثلاٌ : قبل از هر چیز ساده ترین و پر کاربرد ترین موارد استفاده را به من بگه ...
بی نهایت ممنون می شم.
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
نوشته شده توسط
p30rex
سلام
من از این استفاده می کنم:
Dim refresh As Object
Set refresh = WebBrowser1.Document.getElementsByTagName("img")(0 )
refresh.Click
میتونی با تغییر عدد مشخص کنی رو کدوم عکس کلیک بشه(ترتیبش)
میشه بیشتر توضیح بدین
عدد عکس رو چطور پیدا کنم؟
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
نقل قول:
نوشته شده توسط
warden
میشه بیشتر توضیح بدین
عدد عکس رو چطور پیدا کنم؟
up.........
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام من چطور میتونم جاوا اسکریپت رو تو WebBrowser1 فعال کنم به طوری که از کاربر نپرسه؟؟
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
سلام من چطور میتونم جاوا اسکریپت رو تو WebBrowser1 فعال کنم به طوری که از کاربر نپرسه؟؟
نقل قول: دسترسي به اجزاي صفحه در کنترل WebBrowser
البته خودش فعاله ولی
WebBrowser1.silent = true