Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227

Почему код выдаёт object NodeList

29.03.2018, 13:14. Показов 7613. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть скрипт который берёт ссылки на странице и сохраняет в текстовый файл, 2 дня назад всё работало норм а сейчас сохраняет в текстовый файл [object NodeList] Почему так происходит не могу понять.
Вот строка которая отвечает за получение ссылок из класса!
JavaScript
1
window.document.querySelectorAll(".class a");
Это imacros скрипт!

Добавлено через 1 минуту
Пробовал таким образом тоже выдаёт [object NodeList]
JavaScript
1
alert (window.document.querySelectorAll(".eTitle a").toString());
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.03.2018, 13:14
Ответы с готовыми решениями:

Не понимаю почему выдает ошибку "Operator '>' cannot be applied to operands of type 'object' and 'int'"
Здравствуйте. У меня проблема с кодом, не понимаю почему выдает ошибку. private void button1_Click(object sender, EventArgs...

Программа не выполняет условие (fileInput != null) и выдает Object reference not set to instance of an object
Доброго времени суток, форумчане! Помогите бедному студенту решить вот такую проблему: Программа выдает ошибку на строке создании...

Почему данный код выдаёт ошибку?
import math x = 1 while x<=2: a = (x**3*math.tan(x-1)+(math.asin(x**2)**2)) print(round(x,3),'\t',round(a,3)) x+=0.10 ...

40
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
29.03.2018, 15:58  [ТС]
Студворк — интернет-сервис помощи студентам
При первом запуске скрипт переходит по селектору 31-45 а не 16-30
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
29.03.2018, 16:07
Лучший ответ Сообщение было отмечено Chesterfield252 как решение

Решение

Chesterfield252, я же тебе написал, что внес исправления. Посмотри сюда
JavaScript
16
window.content.document.querySelector(".pageBlockuz2 .swchItemA1+a.swchItem1").click();
Обрати внимание на селектор .swchItemA1+a.swchItem1, я там поначалу ошибся и использовал .swchItem1+a.swchItem1, а в таком случае он будет по второй ссылке переходить, причем всегда.
1
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
29.03.2018, 16:23  [ТС]
Изменил строку 16 на
JavaScript
1
window.content.document.querySelector(".pagesBlockuz2 .swchItem1.swchItem1").click();
При первом запуске переходит с селектора 1-15 на 16-30 при втором запуске обратно с 16 - 30 на 1 - 15 и так постоянно!
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
29.03.2018, 16:27
Лучший ответ Сообщение было отмечено Chesterfield252 как решение

Решение

Chesterfield252, еще раз очень внимательно прочитай предыдущий пост. Я там привел строку, как она должна выглядеть. Просто скопируй ее.
1
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
02.04.2018, 12:30  [ТС]
Не могу понять почему не срабатывает этот код, конкретно по нажатию на селекторы?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll(".vera14b a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            linksSaved = true;
            window.content.document.querySelector(".PagesActTop .PagesAct .PagesPas+a.LSubA").click();
        };
        if(window.content.document.querySelector("a.LSubA")) winload();
        else window.content.onload = winload;
Вот код HTML селекторов
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<tr>
<td class="PagesBrdr" bgcolor="#FFF2D9" width="80">&nbsp;</td>
<td bgcolor="#FFF2D9"><table cellpadding="0" width="100%">
<tbody>
<tr><td width="50%" class="PagesBrdr">&nbsp;</td>
<td class="PagesActTop" width="20"><table cellpadding="0" width="20">
<tbody>
<tr><td class="PagesAct">1</td></tr>
</tbody>
</table></td><td class="PagesPas">
<a href="http://www.softportal.com/dlcategory-271-2-0-0-0.html" class="LSubA">2</a></td><td class="PagesPas"><a href="http://www.softportal.com/dlcategory-271-3-0-0-0.html" class="LSubA">3</a></td><td class="PagesPas"><a href="http://www.softportal.com/dlcategory-271-4-0-0-0.html" class="LSubA">4</a></td><td class="PagesPas"><a href="http://www.softportal.com/dlcategory-271-5-0-0-0.html" class="LSubA">5</a></td><td class="PagesPas">...</td><td class="PagesPas"><a href="http://www.softportal.com/dlcategory-271-15-0-0-0.html" class="LSubA">15</a></td>
<td width="50%" class="PagesBrdr">&nbsp;</td></tr>
</tbody></table></td>
<td class="PagesBrdr" bgcolor="#FFF2D9" width="80">&nbsp;</td>                    
                </tr>
Добавлено через 22 часа 53 минуты
Не как не могу разобраться почему не срабатывает клик по переключателям страниц при запуске скрипта
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
02.04.2018, 13:29
Цитата Сообщение от Chesterfield252 Посмотреть сообщение
Не как не могу разобраться почему не срабатывает клик по переключателям страниц при запуске скрипта
Видимо селектор неправильно указан. Вообще, используй редактор кода с форматированием, тогда будешь видеть иерархию правильно.
HTML5
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
<tr>
            <td class="PagesBrdr" bgcolor="#FFF2D9" width="80">&nbsp;</td>
            <td bgcolor="#FFF2D9">
                <table cellpadding="0" width="100%">
                    <tbody>
                        <tr>
                            <td width="50%" class="PagesBrdr">&nbsp;</td>
                            <td class="PagesActTop" width="20">
                                <table cellpadding="0" width="20">
                                    <tbody>
                                        <tr>
                                            <td class="PagesAct">1</td>
                                        </tr>
                                    </tbody>
                                </table>
                            </td>
                            <td class="PagesPas">
                                <a href="http://www.softportal.com/dlcategory-271-2-0-0-0.html" class="LSubA">2</a>
                            </td>
                            <td class="PagesPas">
                                <a href="http://www.softportal.com/dlcategory-271-3-0-0-0.html" class="LSubA">3</a>
                            </td>
                            <td class="PagesPas">
                                <a href="http://www.softportal.com/dlcategory-271-4-0-0-0.html" class="LSubA">4</a>
                            </td>
                            <td class="PagesPas">
                                <a href="http://www.softportal.com/dlcategory-271-5-0-0-0.html" class="LSubA">5</a>
                            </td>
                            <td class="PagesPas">...</td>
                            <td class="PagesPas">
                                <a href="http://www.softportal.com/dlcategory-271-15-0-0-0.html" class="LSubA">15</a>
                            </td>
                            <td width="50%" class="PagesBrdr">&nbsp;</td>
                        </tr>
                    </tbody>
                </table>
            </td>
            <td class="PagesBrdr" bgcolor="#FFF2D9" width="80">&nbsp;</td>
        </tr>
Вот здесь уже сразу видно, что нужные тебе ссылки не находятся внутри эелемента с классами PagesActTop и PagesAct. Кроме того, с селекторами вообще важно не перемудрить, например, если у тебя на странице класс LSubA используется исключительно для того, чтобы помечать нужные тебе переходы на другие страницы, то и используй селектор .LSubA, без иерархии.
0
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
02.04.2018, 14:45  [ТС]
Если использовать без иерархии то получается что при повторном запуске скрипта возвращает с 2 страницы на первую
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll(".vera14b a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            linksSaved = true;
            window.document.querySelector("a.LSubA").click();
        };
        if(window.content.document.querySelector("a.LSubA")) winload();
        else window.content.onload = winload;
Добавлено через 11 минут
А если использовать
JavaScript
1
.PagesPas+a.LSubA
то выдает ошибку TypeError: window.document.querySelector(...) is null, line 16 (Error code: -991)
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
02.04.2018, 14:47
Chesterfield252, я правильно понимаю, PagesActTop - это текущая страница? Если так, то твой селектор будет таким .PagesActTop+.PagesPas>a
1
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
02.04.2018, 15:00  [ТС]
А в таком случае если не сложно
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div class="paginator_conteyner">
<div style="width:100%" id="p_clone">
<div style="width:100%" id="paginator_0" class="paginator">
<table width="100%"><tbody><tr><td width="7.142857142857143%"><span data-page-number="1"><strong>1</strong></span></td>
<td width="7.142857142857143%"><span data-page-number="2"><a href="/recipes/category/2/~2/">2</a></span></td>
<td width="7.142857142857143%"><span data-page-number="3"><a href="/recipes/category/2/~3/">3</a></span></td>
<td width="7.142857142857143%"><span data-page-number="4"><a href="/recipes/category/2/~4/">4</a></span></td>
<td width="7.142857142857143%"><span data-page-number="5"><a href="/recipes/category/2/~5/">5</a></span></td>
<td width="7.142857142857143%"><span data-page-number="6"><a href="/recipes/category/2/~6/">6</a></span></td>
<td width="7.142857142857143%"><span data-page-number="7"><a href="/recipes/category/2/~7/">7</a></span></td>
<td width="7.142857142857143%"><span data-page-number="8"><a href="/recipes/category/2/~8/">8</a></span></td>
<td width="7.142857142857143%"><span data-page-number="9"><a href="/recipes/category/2/~9/">9</a></span></td>
<td width="7.142857142857143%"><span data-page-number="10"><a href="/recipes/category/2/~10/">10</a></span></td>
<td width="7.142857142857143%"><span data-page-number="11"><a href="/recipes/category/2/~11/">11</a></span></td>
<td width="7.142857142857143%"><span data-page-number="12"><a href="/recipes/category/2/~12/">12</a></span></td>
<td width="7.142857142857143%"><span data-page-number="13"><a href="/recipes/category/2/~13/">13</a></span></td>
<td width="7.142857142857143%"><span data-page-number="14"><a href="/recipes/category/2/~14/">14</a></span></td></tr><tr>
<td colspan="14"><div class="scroll_bar"><div class="scroll_trough"></div><div class="scroll_thumb" style="width: 3.61757%; left: 0px;"><div class="scroll_knob"></div></div><div class="current_page_mark" style="width: 3px; left: -1.5px;"></div></div></td></tr></tbody></table></div>
<div style="width:100%" class="paginator_pages">
</div>
</div>
</div>
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
02.04.2018, 15:19
Цитата Сообщение от Chesterfield252 Посмотреть сообщение
А в таком случае если не сложно
В таком случае одним селектором не обойдешься. Здесь искать надо, например так
JavaScript
1
Array.from(document.querySelectorAll(".paginator td")).find(td => td.querySelector("strong")).nextElementSibling.querySelector("a").click();
0
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
02.04.2018, 15:25  [ТС]
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll("h1 a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            linksSaved = true;
            Array.from(document.querySelectorAll(".paginator td")).find(td => td.querySelector("strong")).nextElementSibling.querySelector("a").click();
        };
        if(window.content.document.querySelector("a.paginator td")) winload();
        else window.content.onload = winload;
Нечего не происходит
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
02.04.2018, 15:29
Цитата Сообщение от Chesterfield252 Посмотреть сообщение
Нечего не происходит
Ну ты же из имакроса делаешь? Значит там где написано document, напиши window.content.document.
0
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
02.04.2018, 15:32  [ТС]
В том то и дело что я прописал, и почему поиск по strong а не span?
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
02.04.2018, 15:40
Цитата Сообщение от Chesterfield252 Посмотреть сообщение
и почему поиск по strong а не span?
Спаны есть везде, а тут активная страница отмечена стронгом. Вот посмотри на тестовой странице твой хтмл и мой код вполне находит ссылку на вторую страницу. Почему у тебя не работает - не знаю
PHP/HTML
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Test</title>
</head>
 
<body>
 
    <div class="paginator_conteyner">
        <div style="width:100%" id="p_clone">
            <div style="width:100%" id="paginator_0" class="paginator">
                <table width="100%">
                    <tbody>
                        <tr>
                            <td width="7.142857142857143%">
                                <span data-page-number="1">
                                    <strong>1</strong>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="2">
                                    <a href="/recipes/category/2/~2/">2</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="3">
                                    <a href="/recipes/category/2/~3/">3</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="4">
                                    <a href="/recipes/category/2/~4/">4</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="5">
                                    <a href="/recipes/category/2/~5/">5</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="6">
                                    <a href="/recipes/category/2/~6/">6</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="7">
                                    <a href="/recipes/category/2/~7/">7</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="8">
                                    <a href="/recipes/category/2/~8/">8</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="9">
                                    <a href="/recipes/category/2/~9/">9</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="10">
                                    <a href="/recipes/category/2/~10/">10</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="11">
                                    <a href="/recipes/category/2/~11/">11</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="12">
                                    <a href="/recipes/category/2/~12/">12</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="13">
                                    <a href="/recipes/category/2/~13/">13</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="14">
                                    <a href="/recipes/category/2/~14/">14</a>
                                </span>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="14">
                                <div class="scroll_bar">
                                    <div class="scroll_trough"></div>
                                    <div class="scroll_thumb" style="width: 3.61757%; left: 0px;">
                                        <div class="scroll_knob"></div>
                                    </div>
                                    <div class="current_page_mark" style="width: 3px; left: -1.5px;"></div>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div style="width:100%" class="paginator_pages">
            </div>
        </div>
 
    </div>
    <button onclick="showNext();">qqq</button>
    <script>
        function showNext()
        {
            var a = Array.from(document.querySelectorAll(".paginator td")).find(td => td.querySelector("strong")).nextElementSibling.querySelector("a");
            alert(a.href);
        }
    </script>
</body>
 
</html>
0
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
02.04.2018, 15:50  [ТС]
А у тебя точно такой код как у меня? А то у меня почему то даже на тестовой странице не работает!
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
02.04.2018, 16:50
Цитата Сообщение от Chesterfield252 Посмотреть сообщение
А у тебя точно такой код как у меня? А то у меня почему то даже на тестовой странице не работает!
Опять забыл, что у тебя старый браузер. Для тестовой страницы попробуй так, если подойдет - переделай уже для имакроса
PHP/HTML
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Test</title>
</head>
 
<body>
 
    <div class="paginator_conteyner">
        <div style="width:100%" id="p_clone">
            <div style="width:100%" id="paginator_0" class="paginator">
                <table width="100%">
                    <tbody>
                        <tr>
                            <td width="7.142857142857143%">
                                <span data-page-number="1">
                                    <strong>1</strong>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="2">
                                    <a href="/recipes/category/2/~2/">2</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="3">
                                    <a href="/recipes/category/2/~3/">3</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="4">
                                    <a href="/recipes/category/2/~4/">4</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="5">
                                    <a href="/recipes/category/2/~5/">5</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="6">
                                    <a href="/recipes/category/2/~6/">6</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="7">
                                    <a href="/recipes/category/2/~7/">7</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="8">
                                    <a href="/recipes/category/2/~8/">8</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="9">
                                    <a href="/recipes/category/2/~9/">9</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="10">
                                    <a href="/recipes/category/2/~10/">10</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="11">
                                    <a href="/recipes/category/2/~11/">11</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="12">
                                    <a href="/recipes/category/2/~12/">12</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="13">
                                    <a href="/recipes/category/2/~13/">13</a>
                                </span>
                            </td>
                            <td width="7.142857142857143%">
                                <span data-page-number="14">
                                    <a href="/recipes/category/2/~14/">14</a>
                                </span>
                            </td>
                        </tr>
                        <tr>
                            <td colspan="14">
                                <div class="scroll_bar">
                                    <div class="scroll_trough"></div>
                                    <div class="scroll_thumb" style="width: 3.61757%; left: 0px;">
                                        <div class="scroll_knob"></div>
                                    </div>
                                    <div class="current_page_mark" style="width: 3px; left: -1.5px;"></div>
                                </div>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div style="width:100%" class="paginator_pages">
            </div>
        </div>
 
    </div>
    <button onclick="showNext();">qqq</button>
    <script>
        function showNext()
        {
            var currentTd = Array.prototype.filter.call(document.querySelectorAll(".paginator td"),function(td){return !!(td.querySelector("strong"))})[0];
            alert(currentTd.nextElementSibling.querySelector("a"));
        }
    </script>
</body>
 
</html>
0
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
03.04.2018, 00:37  [ТС]
Что то то ошибку выдаёт
ReferenceError: currentTd не определен, строка 18 (Код ошибки: -991)
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll("h1 a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            linksSaved = true;
            array.prototype.filter.call(window.content.document.querySelectorAll(".paginator td"),function(td){return !!(td.querySelector("strong"))})[0];
        };
        if(currentTd.nextElementSibling.querySelector("a")) winload();
        else window.content.onload = winload;
Добавлено через 16 минут
И так
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll("h1 a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            linksSaved = true;
            array.prototype.filter.call(window.content.document.querySelectorAll(".paginator td"),function(td){return !!(td.querySelector("strong"))})[0];
        };
        if(window.content.document.nextElementSibling.querySelector("a")) winload();
        else window.content.onload = winload;
и так

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll("h1 a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            linksSaved = true;
            array.prototype.filter.call(window.content.document.querySelectorAll(".paginator td"),function(td){return !!(td.querySelector("strong"))})[0];
        };
        if(window.content.document.nextElementSibling.querySelector("a.paginator td")) winload();
        else window.content.onload = winload;

пишет что строка 18 не определенна!

Добавлено через 50 минут
В выше указанных вами примеров html страницах при нажатие на кнопку в alert окне выводит ссылку а вот imacros не хочет.
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
03.04.2018, 08:45
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll("h1 a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            var currentTd = Array.prototype.filter.call(window.content.document.querySelectorAll(".paginator td"),function(td){return !!(td.querySelector("strong"))})[0];
            currentTd.nextElementSibling.querySelector("a").click();
        };
        if(window.content.document.readyState == "complete") winload();
        else window.content.onload = winload;
Или как вариант можно использовать XPath
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function winload(ldevt)
        {
            var link = window.content.document.querySelectorAll("h1 a");
            var result = [];
            for (var i = 0; i < link.length; i++)
            {
                result.push(link[i].href);
            }
            var appendToFile = function (fileName, text)
            {
                var fileDescriptor = imns.FIO.openNode(fileName);
                imns.FIO.appendTextFile(fileDescriptor, text);
            }
            appendToFile("C:\\BOTS\\iMacros\\links.txt", result.join("\r\n") + "\r\n");
            window.content.document.evaluate(".//td[.//strong]/following-sibling::td//a", window.content.document.querySelector(".paginator"),null, XPathResult.ANY_TYPE, null).iterateNext().click();
        };
        if(window.content.document.readyState == "complete") winload();
        else window.content.onload = winload;
0
6 / 5 / 1
Регистрация: 12.06.2017
Сообщений: 227
03.04.2018, 14:13  [ТС]
Не могу понять но не в том не в другом случае нечего не происходит сайт с которым работаю, не для рекламы http://www.povarenok.ru/recipes/category/2/
0
 Аватар для diadiavova
7261 / 2608 / 745
Регистрация: 11.04.2015
Сообщений: 4,155
Записей в блоге: 43
03.04.2018, 15:14
Chesterfield252, у меня нет ни старого файрфокса, ни, тем более, имакроса, так что я проверить ничего не могу. Смотри что выдает консоль. Сами выражения поиска рабочие, но где спотыкается скрипт, я издалека знать не могу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.04.2018, 15:14

Посмотрите код. Почему выдает ошибку?
Как исправить ошибку? Помогите пожалуйста Задача: Авиабилет Структура записи -пункт назначения - номер рейса - модель...

Почему та не работает код, хотя ошибок не выдает
При вводе текста &quot;выход&quot; в TextBox должно ввестись в Label текст &quot;приняла&quot;. Но почему та ни чего не происходит. public class DECCES ...

Почему код иногда выдаёт переполнение массива?
Товарищи, почему выдаёт иногда выдаёт переполнение массива? using System; using System.Collections.Generic; using System.Linq; ...

Почему код не компилируется и выдает ошибку в 102 строке?
unit Graphics; uses GraphABC; type ///Style-object Style = class private pC, pC2: Color; pS: integer;

Почему приведенный код выдает сообщение divide overflow
Помогите, пожалуйста, не могу разобраться почему выдает сообщение divide overflow( вроде push и pop в равном количестве. Что-то пропускаю( ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru