منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] 4 أزرار لديهم 2 id - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] 4 أزرار لديهم 2 id (/showthread.php?tid=20354)



4 أزرار لديهم 2 id - Smile - 12-05-17

السلام عليكم 
برجاء المساعدة فى كتابه كود للضغط على اربع أزرار
انا فى العاده اسنعمل هذا الكود vb.net

كود :
For Each element As HtmlElement In WebBrowser1.Document.GetElementsByTagName("input")
            If element.GetAttribute("value") = "JACK" Then
                element.InvokeMember("click")
            End If
        Next
ولكن الان  لدى 4 زر متشابهان فى كل شى (اقصد كود html)  الاختلاف الوحيد هوة ID

لكل 2 من الازرار لديهم واحد من ID
كود html 

الزر الاول

كود :
<td id="UPDown_1">
<a href="javascript:void(0)" class="upMinus">
<img src="/alpha/images/up/minus.png" width="14px" alt="all"></a>
<a href="javascript:void(0)" class="DownPlus">
<img src="/alpha/images/Down/plus.png" width="14px" alt="maximum"></a></td>


الزر التانى

كود :
<td id="UPDown_2">
<a href="javascript:void(0)" class="upMinus">
<img src="/alpha/images/up/minus.png" width="14px" alt="all"></a>
<a href="javascript:void(0)" class="DownPlus">
<img src="/alpha/images/Down/plus.png" width="14px" alt="maximum"></a></td>



للتوضيح كود 
الزر الاول 

كود :
<img src="/alpha/images/up/minus.png" width="14px" alt="all"></a


 الزر التانى

كود :
<img src="/alpha/images/Down/plus.png" width="14px" alt="maximum"></a>
و تم تجربع الكود vb.net  على كود html و نجح.... و لكن بلطبع بضغط على 4 ازرار فى نفس الوقت
السأل هنا كيف اقوم بلضعط على كل زر على حدا

ِشكرا


RE: 4 أزرار لديهم 2 id - mansoor - 13-05-17

PHP كود :
Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        Dim elm 
As HtmlElement GetElementByAltValue(Me.WebBrowser1"all")
        If 
elm IsNot Nothing Then elm.InvokeMember("click")
    
End Sub

    
Private Sub Button2_Click(sender As System.ObjectAs System.EventArgsHandles Button2.Click
        Dim elm 
As HtmlElement GetElementByAltValue(Me.WebBrowser1"maximum")
        If 
elm IsNot Nothing Then elm.InvokeMember("click")
    
End Sub

    
Function GetElementByAltValue(wb As WebBrowseralt As String) As HtmlElement
        
Return wb.Document.GetElementsByTagName("img").
            
Cast(Of HtmlElement).
            
Where(Function(xx.GetAttribute("alt") = alt).
            
FirstOrDefault()
    
End Function 



RE: 4 أزرار لديهم 2 id - Smile - 14-05-17

شكرا على الرد
الكود نجح فى الضغط على اولا و التانى
ماذا عن التالث و الرابع ... هل يجب تغير شئ فى كود Function ؟


RE: 4 أزرار لديهم 2 id - mansoor - 14-05-17

ال Function واحد ما تغير فيه شي

لكن ابحث عن alt اللي في img وضع قيمتها بدل xxxxx وكمل على نفس المنوال
PHP كود :
Dim elm As HtmlElement GetElementByAltValue(Me.WebBrowser1"xxxxx"



RE: 4 أزرار لديهم 2 id - Smile - 14-05-17

شكرا لمتابعه حضرتك
بخصوص alt (توضيح ان قيمه alt  فى الزرار الاول  و التانى هى نقسه الى فى التالت و الرابع ) تم تجربه الكود التالى
PHP كود :
Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
       Dim elm 
As HtmlElement GetElementByAltValue(Me.WebBrowser1"all")
 
      If elm IsNot Nothing Then elm.InvokeMember("click")
 
  End Sub

   
Private Sub Button2_Click(sender As System.ObjectAs System.EventArgsHandles Button2.Click
       Dim elm 
As HtmlElement GetElementByAltValue(Me.WebBrowser1"maximum")
 
      If elm IsNot Nothing Then elm.InvokeMember("click")
 
  End Sub

Private Sub Button3_Click(sender As ObjectAs EventArgsHandles Button3.Click
      Dim elm 
As HtmlElement GetElementByAltValue(Me.WebBrowser1"alls")
 
      If elm IsNot Nothing Then elm.InvokeMember("click")
 
  End Sub

   
Private Sub Button4_Click(sender As ObjectAs EventArgsHandles Button4.Click
       Dim elm 
As HtmlElement GetElementByAltValue(Me.WebBrowser1"maximum")
 
      If elm IsNot Nothing Then elm.InvokeMember("click")
 
  End Sub

Function GetElementByAltValue(wb As WebBrowseralt As String) As HtmlElement
       
Return wb.Document.GetElementsByTagName("img").
 
          Cast(Of HtmlElement).
 
          Where(Function(xx.GetAttribute("alt") = alt).
 
          FirstOrDefault()
 
  End Function 
بعد التجربه لم يضغط على الزرار التالت و الرابع ولكن ضغط على الاول و التانى... و هذا بسبب نفس اسم alt
سأل مش من الممكن استعمال id ؟


RE: 4 أزرار لديهم 2 id - mansoor - 14-05-17

ضع الرابط أو ضع كود HTML كاملا


RE: 4 أزرار لديهم 2 id - Smile - 14-05-17

<tr><td id="UPDown_1"><a href="javascript:void(0)" class="UPMinus"><img src="src="/alpha/images/up/minus.png" width="14px" alt="all"></a> <a href="javascript:void(0)" class="DownPlus"><img src="src="/alpha/images/Down/plus.png" width="14px" alt="maximum"></a></td></tr>
<tr><td id="UPDown_2"><a href="javascript:void(0)" class="UPMinus"><img src="src="/alpha/images/up/minus.png" width="14px" alt="all"></a> <a href="javascript:void(0)" class="DownPlus"><img src="src="/alpha/images/Down/plus.png" width="14px" alt="maximum"></a></td></tr>


RE: 4 أزرار لديهم 2 id - Smile - 19-05-17

برجاء المساعدة