нажмите на неизвестный элемент .net - PullRequest
0 голосов
/ 21 сентября 2018

я все объясню

, так что это будет хотя бы полезно.я искал много раз без какой-либо хорошей точки, я потерпел неудачу, надеюсь, некоторая помощь,

, пожалуйста, не голосуйте за "неясный вопрос".


я пытаюсь нажать на конкретную

Dianna

Пример:

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

Вот мой код, который захватывает div и все необходимые элементы Classes.

   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 голосов
/ 21 сентября 2018

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
...