PDA

View Full Version : کمک برای ساخت روبات تبلیغاتی در وب (با WebBrowser)



sylverstar
دوشنبه 22 شهریور 1389, 10:46 صبح
سلام به دوستان عزیز انجمن وی بی
من قصد دارم یک برنامه خودکار با هدف های مشخص(روبات) برای کار روی مرورگرهای وب بسازم
این روبات باید به آدرس های سایت های تبلیغاتی از پیش تعیین شده برود و لینک های تبلیغاتی را به روز کند

ابتدا نوع ساده این روبات میتونه انجام بشه به صورتی که ما خودمون صفحات سایت را باز میکنیم و به اکانتمان لاگین میکنیم. از این به بعد کار را به دست روبات می سپایم
برای مثال ما وارد سایت tabligh.khoob.ir شده و روبات را طوری تنظیم میکنید که هر 10 دقیقه کله صفحه را از بالا تا پایین نگاه کند و دکمه بروز رسانی را کلیک کند

من خودم قبلا با توابع sendmessege کار کردم و مثلا برای ماشین حساب یا برنامه الکول ریموت کنترل درست کردم
مشکل اینجاست که دکمه های یک صفحه وب تایتل یا کلاس یا هندل ندارند
من با spy++ و برنامه findwindow تست کردم هیچ چیزی برنمیگردونه
از دوستان تقاضای کمک دارم که چگونه باید این پروژه عمی گردد
ممنون

parselearn
دوشنبه 22 شهریور 1389, 12:01 عصر
web browser را جستجو كنيد
http://barnamenevis.org/forum/showthread.php?t=185815&highlight=web+browser

sylverstar
شنبه 10 مهر 1389, 22:03 عصر
سلام
من اینطور کار کردم



Private Sub Command1_Click()
Set q = Web1.Document
text1.Text = q.body.innerhtml
End Sub

Private Sub Form_Load()
Web1.Navigate "http://www.eforosh.com"
End Sub
و نتیجه کلی مخلفات در یک تکس ریخته شد




<DIV id=container>
<DIV id=mojo_head>
<DIV id=mojo_split>
<H2 class=silent>Main Menu</H2>
<P class=first><A href="/member/welcome">ÓÚíÏ ÒÇÑÚ ãæíÏí</A></P>
<P><A href="/member/logout">ÎÑæÌ</A></P>
<P><A href="/ta">ÊÚÑÝå åÇ <FONT color=#ff4500>(New)</FONT></A></P>
<P><A href="/cont">ÊãÇÓ ÈÇãÇ </A></P>
<P><A href="/rules">ÞæÇäíä ÓÇíÊ </A></P>
<P><A href="/">åí åÇí ÌÏíÏ</A></P></DIV>
<H2 class=silent>Search</H2>
<FORM id=search name=search onsubmit="if (document.forms['search'].q.value=='' || document.forms['search'].q.value=='ÌÓÊÌæ' ) return false;" action=/search method=get><INPUT type=image alt="" src="/images/btn_home_submit.gif" value=submit> <INPUT class=firstinput id=q dir=rtl size=10 value=ÌÓÊÌæ name=q onblur1="replaceSearch()" onfocus1="clearSearch()"> </FORM>
<P class=date dir=rtl>ÔäÈå 10 ãåÑ 1389 <BR></SPAN></P></DIV>
<DIV id=nav>
<H2 id=h2_nav>Navigate Eforosh</H2>
<UL id=navul>
<LI class=navli_mobile><A class=tnavlink href="/mobile"><SPAN>ãæÈÇíá</SPAN></A>
<UL>
<LI><A href="/mobile/65">ÝÑæÔ ÎØ</A></LI>
<LI><A href="/mobile/66">ÎÑíÏ ÎØ</A></LI>
<LI><A href="/mobile/67">Ñåä æ ÇÌÇÑå</A></LI>
<LI><A href="/mobile/68">ÝíÔ</A></LI>
<LI><A href="/mobile/69">ÝÑæԐÇå ãæÈÇíá</A></LI>
<LI><A href="/mobile/70">ÇãæÑ ãÔÊÑßíä</A></LI>
<LI><A href="/mobile/71">æÔí</A></LI>
<LI><A href="/mobile/72">áæÇÒã ÌÇäÈí</A></LI>
<LI><A href="/mobile/73">ßÇÑÊ ÊáÝä</A></LI>
<LI><A href="/mobile/74">ÝÇßÓ</A></LI>
<LI><A href="/mobile/75">ÊáÝä ÊÕæíÑí</A></LI>
<LI><A href="/mobile/76">ÊÚãíÑÇÊ</A> </LI></UL></LI>
<LI class=navli_industry><A class=tnavlink href="/industry"><SPAN>ÕäÚÊ</SPAN></A>
<UL>
من الان باید چکار کنم؟
اون دکمه ای که تبلبغ را به روز میکنه متن نیست و دکمه کلاسیک هست. مثل دکمه ای که در بالای صفحه سمت راست هست و نوشته ورود.
چطوری برای اون رویداد کلیک بفرستم؟

محسن شامحمدی
شنبه 10 مهر 1389, 22:40 عصر
دوست عزیز از این طور کارها به شدت توی سایت بحث شده
نمونه
مقداردهی CheckBox در WebBrowser (http://barnamenevis.org/forum/showthread.php?t=190666)

دسترسي به اجزاي صفحه در کنترل WebBrowser (http://barnamenevis.org/forum/showthread.php?t=168223)

كليك خودكار روي لينك در webbrowser (http://barnamenevis.org/forum/showthread.php?t=179610)

sylverstar
یک شنبه 11 مهر 1389, 23:27 عصر
با تشکر از دوستانی که راهنمایی کردند
من از طریق کد زیر تونستن رویداد کلیک را برای آبجکت مورد نظر ارسال کنم
Web1.Document.Forms(0).elements("controlname").Click
مشکل اینجاست که این کد فقط برای اشیایی که کنترل دارند و از تگ ه <input> استفاده میکنند کارایی داره
دکمه هایی که بیتمپ هستند یا intractive buttom هستند رویداد کلیک نمیگیرند!
راهکاری هست؟؟

parselearn
دوشنبه 12 مهر 1389, 01:55 صبح
شما ميخوايد روي اين كليك كنيد

<INPUT type=image alt="" src="/images/btn_home_submit.gif" value=submit>


http://barnamenevis.org/forum/showthread.php?t=179610
پست آخر

sylverstar
دوشنبه 12 مهر 1389, 03:00 صبح
من اون پست رو نگاه کردم. ولی برای من ارور میده. کم و زیادش هم کردم نشد خداییش

چگونه میتوانم در یک صفحه وب بر روی تصاویر و متن هایی که هایپر لینک دارند رویداد کلیک انجام دهم با استفاده از webbrowser

برای مثال یه فرم ساده که فقط یه متن داره و یه عکس
هر دو لینک دارن به یه صفحه دیگه


<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><A href="3D-View2.htm">GO TO PAGE</A></TD></TR>
<TR>
<TD><A href="file:///G:/web%20SHETAB/site/3D-View2.htm"><IMG height=97 src="bgm2.jpg" width=97 border=0></A></TD></TR></TBODY></TABLE>
برای ارسال کلیک به روی متن ه GO TO PAGE و تصویر ه bgm2.jpg باید چه کدهایی را اضافه کنم به
Web1.Document.Forms(0).elements("controlname").Click

ممنون

parselearn
دوشنبه 12 مهر 1389, 15:23 عصر
پاسخ:
http://barnamenevis.org/forum/showpost.php?p=1116088&postcount=7

لينكهاي شما نام ندارند پس نميشود.

WebBrowser1.Document.All.Item("Name control").Click

مثال:

<a href="http://barnamenevis.org" target="_blank" name="hi" id="hi">hi</a>

xxxxx_xxxxx
دوشنبه 12 مهر 1389, 15:32 عصر
سلام،
ناچار هستیم برای عناصری از صفحه که نام ندارند (مثل Link ها) در بین محتویات صفحه جستجو کنیم تا لینک مورد نظرمون رو پیدا کنیم. منتها این عنصر یک ویژگی داره که باعث میشه سریعتر بتونیم پیداش کنیم، و اون هم تگ A هست.

مثلاً فرض کنید، صفحه اول انجمن برنامه نویس رو باز کردیم. توی صفحه اول پر از لینک های مختلف به تالارهای مختلف هست. حالا میخوایم لینک تالار VB6 رو کلیک کنیم. پس بعد از این که Navigate کردید به صفحه اول انجمن، دستورات زیر رو بنویسید:


For Each Element In WebBrowser1.Document.All
If Element.tagName = "A" Then
If Element.href = "http://barnamenevis.org/forum/forumdisplay.php?f=43" Then
Element.Click
End If
End If
Next
با اجرای این دستورات، لینک مورد نظر پیدا میشه و بعد روش کلیک میشه در نتیجه WebBrowser وارد تالار VB6 میشه.

Element اون عنصری هست که با For Each دنبالش می گردیم. (یک متغیر هست، میتونه هر نامی داشته باشه)

موفق باشید/

sylverstar
دوشنبه 12 مهر 1389, 23:17 عصر
با تشکر از دوستان که راهنمایی کردند
عرض بحضورتان من چگونه میتوان تمای خواص و متدهای یک خصوصیت مانند document را مشهاده کنم؟
معمولا برنامه با فشردن کلیدهای ctrl+space آونها را نشون میده ولی در مورد webbrowser فقط تا یک مرحله نشون میده!
آیا مرجع یا راهنمای کاملی که تمامی خصوصیات - متدها - رویدادها و ... متعلق به کنترل webbrowser در اون توضیح داده شده بتشه هست :لبخندساده:

sylverstar
سه شنبه 10 اسفند 1389, 10:10 صبح
سلام به همه دوستان و اساتید
امروز بعد از چند مدتی قصد کردم روتینهای اضافی یی را به روباتم اضافه کنم.
ولی پروژه را که باز میکنم با این ایراد مواجه میشم
Title: File not found: 'D:\WINDOWS\system32\ieframe.dll\1'--Continue Loading Project?
این در حال است که فایل خواسته شده در مکان خود وجود دارد.
توضیح اضافه اینکه مرور گر I.E را به روز کرده ام. فکر کنم اکتیو ایکس های جدیده با VB سازگاری ندارند! I.E 8.6001.10
چه کنم:ناراحت: