PDA

View Full Version : سوال: دریافت tag html با انتخاب متن از روی صفحه html



Alis69
چهارشنبه 22 مهر 1394, 17:48 عصر
درود بر دوستان
یه قسمت از برنامه ای که دارم مینویسم رو گیر کردم
میخواستم بدونم چجوری میتونم با انتخاب متن از روی صفحه html بفهمم تو چه تگی هست
مثلا روی عدد 5 کلیک میکنم بعد تگش و جای دقیق تگش رو که مثلا tr , td , a , p و ... هست رو بهم برگردونه
با search تو کد های html اون صفحه 12 تا عدد 5 پیدا میشه و درست جواب نمیدهد

am_al_59
دوشنبه 27 مهر 1394, 01:56 صبح
با فرض اینکه صفحه مرمورد نظر رو خود شما طراحی کردی و میتونی تغییرش بدی میشه:
از جاوا اسکریپت استفاده کنی تا تگی که روش کلیک شده رو بگیری بعد اونو به برنامت ارسال کن
این کد جاوا رو توی صفحه وب قرار بده

<script type="text/javascript">
document.addEventListener('click', function (e)
{
alert(e.target.localName);
}, false);
</script>


کد بالا رو نوشتم تا روی هر چیزی گه کلیک کنی تگشو نمایش میده حالا شما به جای alert میتونی اونو به برنامت پاس بدی که اینم چند تا راه داره
راه ساده اینه که توی صفحه یک hiddenField بزاری و با جاوا اسکریپت اون رو مقدار دهی کنی و بعد رویداد کلیک یک button رو فراخوانی کنی برای این کار کد جاوا اسکریپتش این میشه

document.getElementById("hiddenFieldID").value = e.target.localName;
document.getElementById("Button1").click();




راه دیگه که طولانی تره استفاده از وب سرویس هست که عبارت تگ رو مستقیم توسط جاوا به وب سرویست ارسال میکنی

اگر از راه اول میری باید مقدار فیلد رو در هربار فراخوانی ریست کنی اگر نه هر دفعه تک button رو بر میگردونه

اگر هم صفحه رو خودت طراحی نمیکنی و ممکنه هر صفحه ای باشه باز هم میتونی از این روشها استفاده کنی فقط قبلش باید اسکریپتو توی صفحه تزریق کنی

Alis69
دوشنبه 27 مهر 1394, 10:35 صبح
درود دوست عزیز
و تشکر فراوان بابت جواب
نه سایت خودم نیست ولی چون باید دانلود بشه میشه تزریق کرد
یک مشکلی که هست من جایی دقیقشو میخام
مثلا تو یک جدول چند عدد تکراری هست این که تک اخر رو میده و موقع کار اشتباه میکنه خیلی
چون چند عدد تکراری با همون تگ هست ولی اگر جای دقبقش رو بده اشتباه نمیشه
و اطلاعات دقبق همون مکان رو برمیگردونه حالا چجوری میشه تک های قبلی تا اولین تگ رو گرفت
اگرم بشه فهمید خط چندمه بد نیست ولی فکر نمیکنم جواب اونم دقبق باشه
فکر کنم بهترین راه از همون تک تا اولین تگ صفحه هست
اگر دقیق تر توضیح بدم منظورم اینه که میخام روی یک متنی از توی یک صفحه کلیک کنم مثلا قیمت دلار و از اون روز به بعد تو نرم افزار خودم آخرین تغیراتو ببینم که به صورت آنلاین از اون صفحه بگیره

am_al_59
دوشنبه 27 مهر 1394, 19:44 عصر
چیزی که شما لازم داری اسمش html scraper هست توی گوگل همینو سرچ کن کلی حواب و مطلب و حتی پروژه نمونه پیدا میکنی
اما برای دریافت قیمت ارز من خودم هم یک زمانی نیاز داشتم و چند بار هم برنامه پردازش صفحات رو نوشتم اما تضمینی برا کارائی دائم و دقیقش نیست سایت هایی هستن که برای قیمت ارز به شما سرویس مخصوص ارائه میدن و شما میتونی از اون سرویس بدون دردسر استفاده کنی این لینک هارو ببین
http://www.arzlive.com/webmaster.html
http://www.tala-arz.com/codes
http://www.tgju.org/faq/95