单击未知元素。

时间:2018-09-21 01:34:55

标签: html vb.net dom getelementsbyclassname

我会解释一切

因此它将至少有用。我搜索了很多次,但没有任何好处,希望能有所帮助,

请不要投票“不清楚的问题”。


我试图点击特定的

  

戴安娜

示例:

<div class="Center_Home"><ul class="board"><li Address-Of-Center="Dianna" class="tile"></li></ul></div>

这是我的获取div和所有必需类元素的代码。

   Dim elementList As HtmlElementCollection
    Dim curElement As HtmlElement
    elementList = WebBrowser1.Document.GetElementsByTagName("div")

    For Each curElement In elementList

        If curElement.GetAttribute("classname").Equals("ul") Then

            curElement.InvokeMember("click")

        End If

        If curElement.GetAttribute("classname").Contains("Dianna") Then

            curElement.InvokeMember("click")
        End If

    Next

附加信息:我不知道它是否重要

>布局板:ul.board

>板内:li.tile

  

我也找到了类似的页面,它可能也有帮助:   https://docs.telerik.com/teststudio/testing-framework/write-tests-in-code/intermediate-topics-wtc/element-identification-wtc/finding-page-elements

非常感谢...。我尝试了一段时间的VB.NET 和Glade我找到了这个很棒的论坛。我问了几个问题,并且都回答了。

1 个答案:

答案 0 :(得分:0)

className仅引用class="..."属性,而不是元素上的所有属性。您需要迭代li元素,并专门检查Address-Of-Center属性。

'curElement is declared by the loop, no need to make a variable of it.

Dim elementList As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("li")

For Each curElement As HtmlElement In elementList
    If curElement.GetAttribute("Address-Of-Center").Equals("Dianna") Then
        curElement.InvokeMember("click")
        Exit For 'You must stop looping when you've found the element.
    End If
Next
相关问题