powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
11 сообщений из 11, страница 1 из 1
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39289527
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Есть прога. Если искать элементы одного класса getElementsByClassName("с1")-нормально работает. Но нужно вывести эл-ты сразу 4-ех классов
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39289535
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поискал в интернете.Нужно ставить между классами пробелы. getElementsByClassName("c1 c2 c3 c4")-не работает ,ничего не выводится .Классы: clr, clr_win, clr_loose,clr_draw .
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub extractTablesData1()
    Dim IE As Object, Data As Object
    Dim ticket As String
    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = False
        .navigate ("http://allscores.ru/soccer/new_ftour.php?champ=2404&f_team=470&tour=110")
        While IE.ReadyState <> 4
            DoEvents
        Wend
        Set Data = IE.document.getElementsByTagName("table")(6).getElementsByClassName("clr")
        i = 1
        For Each elemCollection In Data
            ActiveWorkbook.Sheets(1).Cells(34, 1 + i).Value = elemCollection.innerText
            i = i + 1
        Next elemCollection
    End With
    IE.Quit
    Set IE = Nothing
End Sub
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39289536
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[src html]
</abbr></a></tr><tr><td class=clr><img src=http://allscores.ru/flags/eng.gif width=18 height=18 title="Премьер.Лига"></td><td class=clr width=69><a class=bluelink href=main.php?champ=2404&tour=110>Премьер.Лига</a></td><td class=clr width=69><a class=bluelink href=main.php?champ=2404&f_date=20158&tour=110>15.08.2015</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=2404&f_team=470&tour=110>Суонси Сити</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=2404&f_team=402&tour=110>Ньюкасл Юнайтед</a></td><td class=clr_win><a class=bluelink href=fstats.php?champ=2404&team=470&team2=402&tour=110><abbr title="В скобках результат первого тайма">2:0 (1:0)</abbr></a></tr><tr><td class=clr><img src=http://allscores.ru/flags/eng.gif width=18 height=18 title="Премьер.Лига"></td><td class=clr width=69><a class=bluelink href=main.php?champ=2404&tour=110>Премьер.Лига</a></td><td class=clr width=69><a class=bluelink href=main.php?champ=2404&f_date=20158&tour=110>22.08.2015</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=2404&f_team=415&tour=110>Сандерленд</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=2404&f_team=470&tour=110>Суонси Сити</a></td><td class=clr_draw><a class=bluelink href=fstats.php?champ=2404&team=415&team2=470&tour=110><abbr title="В скобках результат первого тайма">1:1 (0:1)</abbr></a></tr><tr><td class=clr><img src=http://allscores.ru/flags/eng.gif width=18 height=18 title="Кубок.Лиги"></td><td class=clr width=69><a class=bluelink href=main.php?champ=30006&tour=105>Кубок.Лиги</a></td><td class=clr width=69>25.08.2015</td><td class=clr><a class=bluelink href=new_ftour.php?champ=30006&f_team=470&tour=105>Суонси Сити</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=30006&f_team=4314&tour=105>Йорк</a></td><td class=clr_win><a class=bluelink href=fstats.php?champ=30006&team=470&team2=4314&tour=105>3:0</a></td></tr><tr><td class=clr><img src=http://allscores.ru/flags/eng.gif width=18 height=18 title="Премьер.Лига"></td><td class=clr width=69><a class=bluelink href=main.php?champ=2404&tour=110>Премьер.Лига</a></td><td class=clr width=69><a class=bluelink href=main.php?champ=2404&f_date=20158&tour=110>30.08.2015</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=2404&f_team=470&tour=110>Суонси Сити</a></td><td class=clr><a class=bluelink href=new_ftour.php?champ=2404&f_team=406&tour=110>Манчестер Юнайтед</a></td><td class=clr_win><a class=bluelink href=fstats.php?champ=2404&team=470&team2=406&tour=110><abbr title="В скобках результат первого тайма">2:1 (0:0)
[/html]
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39289560
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в DOM IE вообще нет метода getElementsByClassName
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39289562
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а хотя уже есть.
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39289566
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как время летит...
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39290045
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxim863,
тебе нужен метод querySelectorAll .
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39290125
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,
Спасибо! Все классы вывелись в excel .Только после этого ie отрубается . И выскакивает ошибка :
Run-time error 462 the remote server machine does not exist or its unavailable
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub extractTablesData1()
    Dim IE As Object, Data As Object
    Dim ticket As String
    Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = False
        .navigate ("http://allscores.ru/soccer/new_ftour.php?champ=2404&f_team=406&tour=110")
        While IE.ReadyState <> 4
            DoEvents
        Wend
        Set Data = IE.document.getElementsbyTagName("table")(6).querySelectorAll("td.clr, td.clr_win, td.clr_draw, td.clr_loose")

        i = 1
        For Each elemCollection In Data
            ActiveWorkbook.Sheets(1).Cells(34, 1 + i).Value = elemCollection.innerText
            i = i + 1
        Next elemCollection

    End With

    IE.Quit
    Set IE = Nothing
End Sub
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39292348
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Искал в интернете решение https://support.microsoft.com/ru-ru/kb/178510 . Результативно изменить код не получилось .
...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39292928
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maxim863,
m.b. this helps
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
Option Explicit

Sub extractTable_3()
    Dim oDom As Object, oTable As Object, oRow As Object
    Dim iRows As Integer, iCols As Integer
    Dim x As Integer, y As Integer
    Dim data()
    Dim oHttp As Object
    Dim oRegEx As Object
    Dim sResponse As String
    Dim oRange As Range
    
    ' get page
    Set oHttp = CreateObject("MSXML2.XMLHTTP")
    oHttp.Open "GET", "http://allscores.ru/soccer/new_ftour.php?champ=2404&f_team=406&tour=110", False
    oHttp.Send
    
    ' cleanup response
    sResponse = StrConv(oHttp.responseBody, vbUnicode)
    Set oHttp = Nothing
    
    sResponse = Mid$(sResponse, InStr(1, sResponse, "<!DOCTYPE "))
    
    Set oRegEx = CreateObject("vbscript.regexp")
    With oRegEx
        .MultiLine = True
        .Global = True
        .IgnoreCase = False
        .Pattern = "<(script|SCRIPT)[\w\W]+?</\1>"
        sResponse = .Replace(sResponse, "")
    End With
    Set oRegEx = Nothing
    
    ' create Document from response
    Set oDom = CreateObject("htmlFile")
    oDom.Write sResponse
    DoEvents
    
    ' table with results, indexes starts with zero
    Set oTable = oDom.getElementsByTagName("table")(3)
    DoEvents
    
    iRows = oTable.Rows.Length
    iCols = oTable.Rows(1).Cells.Length
    
    ' first row and first column contain no intresting data
    ReDim data(1 To iRows - 1, 1 To iCols - 1)
    
    ' fill in data array
    For x = 1 To iRows - 1
        Set oRow = oTable.Rows(x)
        
        For y = 1 To iCols - 1
            data(x, y) = oRow.Cells(y).innerText
        Next y
    Next x
    
    Set oRow = Nothing
    Set oTable = Nothing
    Set oDom = Nothing
    
    ' put data array on worksheet
    Set oRange = ThisWorkbook.Worksheets(1).Cells(4, 2).Resize(iRows - 1, iCols - 1)
    oRange.NumberFormat = "@"
    oRange.Value = data
    Set oRange = Nothing
    
    '<DEBUG>
'    For x = LBound(data) To UBound(data)
'        Debug.Print x & ":[ ";
'        For y = LBound(data, 2) To UBound(data, 2)
'            Debug.Print y & ":[" & data(x, y) & "] ";
'        Next y
'        Debug.Print "]"
'    Next x
    '</DEBUG>
    
End Sub

...
Рейтинг: 0 / 0
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
    #39292980
maxim863
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища, Спасибо большое ! Прога работает без ошибок .
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]