منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مساعده : مش عارف اكتب الكود بشكل صحيح
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم ورحمه الله وبركاته 
اولا احب اشكر المهندس ابو روضه علي انه وجهني نحو طريق الselenium 
ثانيا انا مش عارف اكتب الكوده 
بستخدم من خلال الselenium انه يدخل الي الرابط ده 
https://web.whatsapp.com/send?phone=012865455125

من المفترض ان تظهر هذه الرساله (ان رقم الهاتف الذي تمت مشاركتة عبر الرابط غير صحيح)
انا عايز اكتب كود بحيث اذا ظهرت هذه الرساله تظهر مسدج بوكس تقول خطاء واذا لم تظهر هذه الرساله تظهر مسدج بوكس تقول صحيح
استخدمت هذا الكود بحيث ان ابحث عن الكلاس واستخدمه ولكن عده محاولات فاشله 
كود :
  Dim driver As IWebDriver
       driver = New ChromeDriver
       driver.Navigate().GoToUrl("https://web.whatsapp.com/send?phone=012865455125")
       Dim element As IWebDriver = driver.FindElement(By.ClassName("إن رقم الهاتف الذي تمت مشاركته عبر الرابط غير صحيح."))
     


انت بتتعامل مع اسم الكلاس وليس نص العرض
كلاس _2Vo52
واللي هو في خاص بالـ div اللي تنعرض فيه الرسالة

جرب استبدل السطر بالتالي
كود :
       Dim element As IWebDriver = driver.FindElement(By.ClassName("_2Vo52"))
(03-12-19, 11:41 PM)محمد كريّم كتب : [ -> ]انت بتتعامل مع اسم الكلاس وليس نص العرض
كلاس _2Vo52
واللي هو في خاص بالـ div اللي تنعرض فيه الرسالة

جرب استبدل السطر بالتالي
كود :
       Dim element As IWebDriver = driver.FindElement(By.ClassName("_2Vo52"))

طبعا كل الشكر للمتميز محمد كريم 
ولكن الفكره مش هنا الفكره كيف اكتب دله if بحيث اذا ظهرت هذه الرساله تظهر مسدج بوكس تقول غير صحيح واذا لم تظهر هذه الرساله تظهر مسدج بوكس تقول صحيح
انت جبت الكائن اللي سميته element
فما عليك الا تتعامل مع خصائصه زي اي كائن ثاني
اعتبره تكست بوكس يا أخي  Big Grin

النص بيكون في
element.Text

اعمل شرط if على هذه القيمة

كود :
if(element.Text.equal("النص المطلوب البحث عنده"))
كمل زي شرط عادي


أرجو اني ما اخطأت في شيء
ملاحظة / انا ما بحبش فيجوال بيسك ومقرر مش حتعلم اكتب صيغتها ولكن احيانا باضطر فقط للرد على اسئلة الاعضاء
(04-12-19, 12:36 AM)محمد كريّم كتب : [ -> ]انت جبت الكائن اللي سميته element
فما عليك الا تتعامل مع خصائصه زي اي كائن ثاني
اعتبره تكست بوكس يا أخي  Big Grin

النص بيكون في
element.Text

اعمل شرط if على هذه القيمة

كود :
if(element.Text.equal("النص المطلوب البحث عنده"))
كمل زي شرط عادي


أرجو اني ما اخطأت في شيء
ملاحظة / انا ما بحبش فيجوال بيسك ومقرر مش حتعلم اكتب صيغتها ولكن احيانا باضطر فقط للرد على اسئلة الاعضاء

للأسف مش هينفع جربت والله العظيم يا متميز وبرضو دون جدوي
اعتذر منك
كانت مجرد اجتهاد
ممكن انت مش بتوصل أصلا للـ div المطلوب كونه موجود داخل كائنات اخرى متشعبة او لكون الكلاس مستخدم في اكثر من مكان

جرب حظك مع By.cssSelector أو By.XPath
فهي حتشخليك تطلب الـ div بتفاصيل أكثر بحيث يجب هو نفسه

شرح جميل بالفيديو للبحث بالمسار XPAth
https://www.youtube.com/watch?v=tV7ziQCIZAg
(04-12-19, 12:52 AM)محمد كريّم كتب : [ -> ]اعتذر منك
كانت مجرد اجتهاد
ممكن انت مش بتوصل أصلا للـ div المطلوب كونه موجود داخل كائنات اخرى متشعبة او لكون الكلاس مستخدم في اكثر من مكان

جرب حظك مع By.cssSelector أو By.XPath
فهي حتشخليك تطلب الـ div بتفاصيل أكثر بحيث يجب هو نفسه

شرح جميل بالفيديو للبحث بالمسار XPAth
https://www.youtube.com/watch?v=tV7ziQCIZAg

لا طبعا العفو انا اللي بهتذر طبعا 
لكن المشكله في الكلاس المشكله في بناء جمله ال if
عفواً اخى الكريم والشكر لله وحده....
أولاً ليس لدى واتساب لانى دخلت على الرابط فدخلنى على الصفحة الرئيسية مباشرة.
لكن عموما تكتب الكود هكذا مع تغير اسم الكلاس طبعا والتاج نيم

PHP كود :
Dim links driver.FindElements(By.TagName("button"))
 
       For Each item In links
            If item
.GetAttribute("className") = ("tweet-action EdgeButton EdgeButton--primary js-tweet-btn"Then
                MsgBox
(item.Text)
 
           End If
 
       Next item 

جرب وإن شاء الله ينفع معك
(04-12-19, 01:24 AM)ابو روضة كتب : [ -> ]عفواً اخى الكريم والشكر لله وحده....
أولاً ليس لدى واتساب لانى دخلت على الرابط فدخلنى على الصفحة الرئيسية مباشرة.
لكن عموما تكتب الكود هكذا مع تغير اسم الكلاس طبعا والتاج نيم

PHP كود :
Dim links driver.FindElements(By.TagName("button"))
 
       For Each item In links
            If item
.GetAttribute("className") = ("tweet-action EdgeButton EdgeButton--primary js-tweet-btn"Then
                MsgBox
(item.Text)
 
           End If
 
       Next item 

جرب وإن شاء الله ينفع معك

ربنا ما يحرمنا منك يا قائد وطبعا الشكر لله ثم لك يا كبيرنا 
انا جربت و للأسف ماظبطش معايا الفكره كلها انا كنت عاوز اطور المشروع الخاص بالواتس اب اللي نزلته في المنتدي بحيث ان ممكن اضيف 100 رقم ويتم فلترتهم اللي فيهم واتس اب واللي مالهوش واتس اب من خلال هذه الرساله ولكن كما علمتنا يا قائد اشتغل في شئ اخري وهنلاقي الحل قدام عنينا
إقتباس :انا جربت و للأسف ماظبطش معايا الفكره كلها انا كنت عاوز اطور المشروع الخاص بالواتس اب اللي نزلته في المنتدي بحيث ان ممكن اضيف 100 رقم ويتم فلترتهم اللي فيهم واتس اب واللي مالهوش واتس اب من خلال هذه الرساله ولكن كما علمتنا يا قائد اشتغل في شئ اخري وهنلاقي الحل قدام عنينا

تسلم اخى ربنا يكرمك...

المشكلة أن سورس الصفحة ليس امامى كى أجد ما تريده...
يعنى أتريد جلب اشياء من الصفحة ؟
أم تريد الضغط على شيئ داخل الصفحة ؟
أياً كان ما تريده فيجب أن تكون الصفحة أمامى كى أحاول معها صح أم كلامى خطأ ؟
الصفحات : 1 2