ورود

View Full Version : حرفه ای: مشکل با webbrowser



mostafa_bahar
پنج شنبه 12 مرداد 1391, 10:24 صبح
دوستان عزیز من برنامه ای نوشتم که با مشکل زیر برخورد کردم
وقتی دکمه ای از سایت را می زنیم رویداد onclick چه جوری فعال می شه
دقیق تر بگم قبلا تو سایت ها از رویداد DocumentComplete استفاده می کردم جواب می داد ولی تو این سایت خاص وقتی دکمه رو می زنم این رویداد فعال نمی شه چه کنم و چه کار کنم
ممنون از اساتید

arenaw
پنج شنبه 12 مرداد 1391, 11:35 صبح
توی html هم میشه مستقیم واسه onclick یه تگ توی خود کدای html کد نوشت :


<div id="salam" onclick="alert('hello')"> </div>

و هم میشه از طریق javascript > jquery واسه رویداد ها کد نوشت


$(document.getElementById('salam')).click(function (e) {
alert('hello');
});


اولی همه جا کار میکنه ولی دومی واسه browser هایی که جاوا و یا جی کواری ساپورت نمیکنن جواب نمیده.
حالا من حدث میزنم که web browser ویبی جی کواری رو ساپورت نمیکنه (مطمإن نیستم علتش همین باشه که گفتم)

mostafa_bahar
پنج شنبه 12 مرداد 1391, 12:34 عصر
ببینید حرف شما صحیح ولی مشکل دقیق اینه که وقتی رویداد DocumentComplet بعد از زدن دکمه فعال نمی شه من کجا باید تشخیص بدم که زده شده است مثلا فرض کنید با زدن یک دکمه از سایت قراره یک اطلاعاتی داخل یک جدول بیاید حالا این زدن دکمه هم از طریق برنامه انجام میشه دستی نیست
من چطور تشخیص بدم که اطلاعات داخل جدول اومده که اطلاعات بعدی و وارد کنم
داخل سایت هایی مشابه ای که کار کردم بعد از زدن دکمه و آمدن اطلاعات رویداد DocumentComplet فعال می شه ولی تو این سایت این رویداد فعال نمی شه که سیستم تشخیص بده رکورد اول وارد جدول شد حالا رکورد بعدی و وارد کنه
منظور از جدول table تو خود سایت هست

مهرداد صفا
پنج شنبه 12 مرداد 1391, 15:02 عصر
ببینید حرف شما صحیح ولی مشکل دقیق اینه که وقتی رویداد DocumentComplet بعد از زدن دکمه فعال نمی شه من کجا باید تشخیص بدم که زده شده است مثلا فرض کنید با زدن یک دکمه از سایت قراره یک اطلاعاتی داخل یک جدول بیاید حالا این زدن دکمه هم از طریق برنامه انجام میشه دستی نیست
من چطور تشخیص بدم که اطلاعات داخل جدول اومده که اطلاعات بعدی و وارد کنم
داخل سایت هایی مشابه ای که کار کردم بعد از زدن دکمه و آمدن اطلاعات رویداد DocumentComplet فعال می شه ولی تو این سایت این رویداد فعال نمی شه که سیستم تشخیص بده رکورد اول وارد جدول شد حالا رکورد بعدی و وارد کنه
منظور از جدول table تو خود سایت هست
سلام
میتوانید قبل از اعمال Click روی Element یک بار تمام متن صفحه را بگیرید و در متغیری نگهدارید. حالا در یک حلقه یا با استفاده از timer مقدار متن صفحه را با متغیر متابقت دهید تا متوجه تغییر شوید.

LastText=WebBrowser.Document.InnerText
WebBrowser1.GetElementByTagName("input")(2).click
do
DoEvents
loop until LastText<> WebBrowser.Document.InnerText
'now document has changed
'...