Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов / 11 сообщений из 11, страница 1 из 1
10.08.2016, 11:42
    #39289527
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
Добрый день.
Есть прога. Если искать элементы одного класса getElementsByClassName("с1")-нормально работает. Но нужно вывести эл-ты сразу 4-ех классов
...
Рейтинг: 0 / 0
10.08.2016, 11:49
    #39289535
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
Поискал в интернете.Нужно ставить между классами пробелы. 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
10.08.2016, 11:51
    #39289536
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
[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
10.08.2016, 12:21
    #39289560
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
в DOM IE вообще нет метода getElementsByClassName
...
Рейтинг: 0 / 0
10.08.2016, 12:23
    #39289562
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
а хотя уже есть.
...
Рейтинг: 0 / 0
10.08.2016, 12:24
    #39289566
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
как время летит...
...
Рейтинг: 0 / 0
10.08.2016, 22:25
    #39290045
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
maxim863,
тебе нужен метод querySelectorAll .
...
Рейтинг: 0 / 0
11.08.2016, 09:33
    #39290125
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
скукотища,
Спасибо! Все классы вывелись в 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
16.08.2016, 08:26
    #39292348
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
Искал в интернете решение https://support.microsoft.com/ru-ru/kb/178510 . Результативно изменить код не получилось .
...
Рейтинг: 0 / 0
17.08.2016, 01:17
    #39292928
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
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
17.08.2016, 08:45
    #39292980
maxim863
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов
скукотища, Спасибо большое ! Прога работает без ошибок .
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / getElementsByClassName("с1 с2 с3 с4") .Не выводится массив, сост-ий из эл-ов 4-ех классов / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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