Есть одна проблема. Эти номера генерируются не игрой а браузером при построение модели DOM. Игрой генерируется лишь HTML.Все ясно, про программирование ничего не знаете, но поучать лезете
Ваша привязка к номерам, проработает ровно до первого обновления игры, после чего будете отсчитывать номера за ново и переписывать половину бота
Программисту написавшему код с привязкой к порядковому номеру элемента, руки отрывать сразу же нужно, ну или мозги...
Блин вот мне стало интересно и поглядел предложенный вами пример - страница со списком отчетов. Поехали!
Смотрим код. Ага список отчетов это обычная таблица. Смотрим как её можно опознать? Опа видим id="overview" class="row_table_data". Смотрим используются ли где еще на странице - нет не используются. У нас есть сразу 2 идентификатора именно нужной нам таблички. Идем дальше. Смотрим что у нас в <tbody>.
Одна строка таблицы представляет из себя:
Code: Select all
<tr>
<td class="sel">
<input class="check" type="checkbox" name="n1" value="98519800" />
</td>
<td class="sub newMessage">
<img src="img/x.gif" class="messageStatus messageStatusUnread" alt="Не прочитано" title="Не прочитано" />
<img src="img/x.gif" class="iReport iReport7" alt="Как защитник, вы проиграли, но без потерь" title="Как защитник, вы проиграли, но без потерь" />
<a class="reportInfoIcon" href="build.php?id=39&tt=2&bid=98519800">
<img title="1890/4130" alt="1890/4130" src="img/x.gif" class="reportInfo carry half" />
</a>
<div>
<a href="berichte.php?id=98519800|24f28379&t=">XXX проводит набег на YYY</a>
</div>
<div class="clear"> </div>
</td>
<td class="dat">
сегодня 02:58
</td>
</tr>
Идем дальше. Нам надо понять "а что это за отчет?". Видим интересную строку:
Code: Select all
<img src="img/x.gif" class="iReport iReport7" alt="Как защитник, вы проиграли, но без потерь" title="Как защитник, вы проиграли, но без потерь" />
Ссылка на подробный отчет лежит в этом же TD в блоке div. То есть TD->DIV[0]->A ([0] - это и есть идентификатор в коллекции. То есть его порядковый номер. Если там идут подряд 5 элементов div (в нашем случае 2) то и номера у них будут соответственно 0,1,2,3,4. А т.к. судя по верстке нам нужен первый из них то и обращаемся мы к [0])
Собственно это вся полезная информация которую можно получить на этой странице.
Порядок действий:
1) Находим таблицу с id=overview
2) Получаем коллекцию элементов TR из блока TBODY
3) Перебираем результат любым удобным способом. То есть на каждой итерации мы получаем следующий элемент TR пока они есть в коллекции. В каждом элементе ищем TD c классом "sub" и производим следующие действия:
а) В найденном определяем прочитано или нет сообщение по наличию класса "newMessage". Хотя лучше по ID отчета в игре т.к. пользователь может прочитать отчет и бот пропустит его.
б) Ищем элемент IMG с классом iReport. Смотрим на второй класс (например iReport7) и определяем что это за отчет и нужен ли он нам вообще.
в) Ищем первый элемент div а в нем элемент A и забираем из него значение атрибута HREF
Все! Далее переходим на страницу отчета и там уже берем нужную информацию.