Русское сообщество AutoIt

  • Май 22, 2012, 14:30:11 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

Создан файловый архив для участников форума.

Закачивайте свои файлы и получайте рейтинг, прямые ссылки, и т.п.

Для изображений и скриншотов по прежнему есть AUTOIT.RV.UA

Реклама

Автор Тема: Как выбрать текст между тегами?  (Прочитано 1769 раз)

0 Пользователей и 1 Гость смотрят эту тему.

BETAJIb [?]

есть вот такой код:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><link rel="stylesheet" href="styles/main1.css" type="text/css"><title>Фентезиум</title></head><body bgcolor=#FFFFF0 text=#000000 link=#0000FF vlink=#0000FF><div style="text-align:left;font-family: Times New Roman, sans-serif, Tahoma;"><b><font color=#FF0000>Идёт бой! Раунд 1. До конца раунда 180 секунд.</font><br />Килер ж.5328/5328 м.12/12</b><br /><a href="main.php?blok=fight&do=boi&id=216&hm=1&rnd=255564">Нападает Вася ур.106 ж.2226/2226 м.0/0</a><br /><i>Вася ударил противника Килер с точностью 1531.</i><br /><a href="main.php?blok=fight&do=boi&doo=4&id=15806&hm=1&rnd=255564">Закончить ход</a><br /><a href="main.php?blok=fight&do=mir&rnd=255564">Обновить</a><br /><a href="main.php?blok=statistika&do=1&doo=6593904&rnd=255564">Лог боя</a><br /><u><b>Другие цели:</b></u><br /><a href="main.php?blok=bots&rnd=255564">Существа(1)</a><br /><a href="main.php?blok=chat&rnd=255564">Чат</a><br /><br /><div style="text-align:center;background:#436EEE;">=© Created by <font color=#FF0000>Alek</font>, 2008=</div></body></html>как из него вырезать то что будет между <a href="main.php?blok=fight&do=boi&id=216&hm=1&rnd=255564">Нападает Вася ур.106 ж.2226/2226 м.0/0</a><br /><i> это типа "Нападает Вася ур.106 ж.2226/2226 м.0/0" и потом нажать на него?




  Записан

DarWiM [?]

  • Новичок
  • *
  • Репутация: 8
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 93
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #1, Отправлен: Февраль 19, 2012, 00:06:06 »
Подобная тема




  Записан

BETAJIb [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 25
  • Версия AutoIt: 3
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #2, Отправлен: Февраль 19, 2012, 00:09:47 »
Нападает Вася ур.106 ж.2226/2226 м.0/0
у меня эта ссылка будет полность меняться всегда....и нету класса...из-за этого я не могу так сделать...




  Записан

DarWiM [?]

  • Новичок
  • *
  • Репутация: 8
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 93
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #3, Отправлен: Февраль 19, 2012, 00:14:12 »
Тогда сюда




  Записан

BETAJIb [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 25
  • Версия AutoIt: 3
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #4, Отправлен: Февраль 19, 2012, 00:28:30 »
пробывал так $sHTML=_IEBodyReadHTML($oIE)
$aTemp = StringRegExp($sHTML, '*>(.*?)</a><br /><i>', 3)
MsgBox(0,'',$aTemp)
но оно что то не работает...выдает 1 и все...




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды




  Записан
Правила, Поиск, Супер тема


AutoIt is simple, subtle, elegant.



«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум. (C)»
«Законы Мэрфи неоспоримы!»


Мои работы

BETAJIb [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 25
  • Версия AutoIt: 3
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #6, Отправлен: Февраль 19, 2012, 00:57:23 »
есть вот такой код:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"><html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><link rel="stylesheet" href="styles/main1.css" type="text/css"><title>Фентезиум</title></head><body bgcolor=#FFFFF0 text=#000000 link=#0000FF vlink=#0000FF><div style="text-align:left;font-family: Times New Roman, sans-serif, Tahoma;"><b><font color=#FF0000>Идёт бой! Раунд 1. До конца раунда 180 секунд.</font><br />Килер ж.5328/5328 м.12/12</b><br /><a href="main.php?blok=fight&do=boi&id=216&hm=1&rnd=255564">Нападает Вася ур.106 ж.2226/2226 м.0/0</a><br /><i>Вася ударил противника Килер с точностью 1531.</i><br /><a href="main.php?blok=fight&do=boi&doo=4&id=15806&hm=1&rnd=255564">Закончить ход</a><br /><a href="main.php?blok=fight&do=mir&rnd=255564">Обновить</a><br /><a href="main.php?blok=statistika&do=1&doo=6593904&rnd=255564">Лог боя</a><br /><u><b>Другие цели:</b></u><br /><a href="main.php?blok=bots&rnd=255564">Существа(1)</a><br /><a href="main.php?blok=chat&rnd=255564">Чат</a><br /><br /><div style="text-align:center;background:#436EEE;">=© Created by <font color=#FF0000>Alek</font>, 2008=</div></body></html>
как из него вырезать то что будет между
<a href="main.php?blok=fight&do=boi&id=216&hm=1&rnd=255564">Нападает Вася ур.106 ж.2226/2226 м.0/0</a><br /><i> это типа "Нападает Вася ур.106 ж.2226/2226 м.0/0" и потом нажать на него?




  Записан

DarWiM [?]

  • Новичок
  • *
  • Репутация: 8
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 93
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #7, Отправлен: Февраль 19, 2012, 01:01:40 »
Код: AutoIt [Выделить]
#include <IE.au3>
;~ Скрипт для клика по ссылке нападающего
_IELoadWait($oIE)
$Links=_IELinkGetCollection($oIE)

    For $Link in $Links
        If StringInStr($Link.innertext,"Нападает ") Then
            _IELinkClickByText($oIE,$Link.innertext)
            ExitLoop
        EndIf
    Next




  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #8, Отправлен: Февраль 19, 2012, 01:26:26 »
DarWiM
И как этот код вырезает что то?

BETAJIb
Я же дал ссылку на тему где приведён пример шаблона получения подстроки между двумя значениями, что ещё нужно?




  Записан

DarWiM [?]

  • Новичок
  • *
  • Репутация: 8
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 93
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #9, Отправлен: Февраль 19, 2012, 01:40:35 »
CreatoR
Он не правильно сформулировал вопрос. Ему нужно было вырезать, чтоб потом по ней кликнуть. Я всего лишь предложил вариант попроще...
А вообще, то, что он просил находится в $Link.innertext, так что по сути задача выполнена, другое дело каким путём


Добавлено: Февраль 19, 2012, 02:02:29
BETAJIb
Код: AutoIt [Выделить]
$HTML=_IEBodyReadHTML($oIE)
$x=StringRegExp($HTML,"(?i)Координата <b>(.*?)\D\d+</b>",1)
$y=StringRegExp($HTML,"(?i)Координата <b>\d+\D(.*?)</b>",1)
MsgBox(0,"","x="&$x[0])
MsgBox(0,"","y="&$y[0])
Это для получения координат
« Последнее редактирование: Февраль 19, 2012, 02:05:21 от DarWiM, Причина: Объединение сообщений »



  Записан

BETAJIb [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 25
  • Версия AutoIt: 3
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #10, Отправлен: Февраль 19, 2012, 15:22:06 »
есть такой кусок html кода:
<i>Ты получил 256 монет.</i><br /><i><font color=#8B4513>Из монстра выпала вещь граната[1].</font></i><br /><i>Килер убил противника немец.</i><br /><i>как из него вытягнуть:Из монстра выпала вещь гранат$KodHtml=_IEDocReadHTML ( $oIE )
$aResult = StringRegExp($KodHtml, '.*.</i><br /><i><font color=#8B4513>(.*?).</i><br /><i>.*', 3)
MsgBox(64, 'Info', $aResult)
,но почему то не работает...что не так?
« Последнее редактирование: Февраль 19, 2012, 15:30:24 от BETAJIb »



  Записан

CreatoR [?]

  • Администратор
  • *
  • *****
  • Репутация: 1403
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 5068
  • Версия AutoIt: 3.2.8.1+
  • AutoIt is simple, subtle, elegant
    • WWW
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #11, Отправлен: Февраль 19, 2012, 15:30:20 »
BETAJIb
У тебя трудности с чтением?

Это последнее предупреждение:

ПредупреждениеЗа нарушение правил форума (пункт Б.5):
Цитата
Имя темы должно нести смысловую нагрузку (отражать суть вопроса/проблемы)
Правильно сформулированное название темы привлекает больше внимания, и шансы получить конкретный ответ увеличиваются.

Данные правила могут пополняться локальными правилами раздела.
Как правильно называть темы

"[RegExp]  почему не работает?" - это неприемлемое название темы, переименуйте тему иначе она будет закрыта, а вам возможно будет выдан бан на несколько дней.

С уважением, ваш Администратор.


Добавлено: Февраль 19, 2012, 15:35:01
BETAJIb
Последние 3 темы в данном разделе соединены воедино.


Добавлено: Февраль 19, 2012, 15:37:40
BETAJIb  [?]
Цитата
почему то не работает...что не так?
Не читаешь справку, вот что не так.
StringRegExp с параметром 3 возвращает массив.

Цитата
как из него вытягнуть:Из монстра выпала вещь гранат

Код: AutoIt [Выделить]
$vTest = '<i>Ты получил 256 монет.</i><br /><i><font color=#8B4513>Из монстра выпала вещь граната[1].</font></i><br /><i>Килер убил противника немец.</i><br /><i>'
$sRet = StringRegExpReplace($vTest, '.*.</i><br /><i><font color=#8B4513>(.*?)</font></i><br /><i>.*', '\1')
MsgBox(64, 'Title', $sRet)




  Записан

DarWiM [?]

  • Новичок
  • *
  • Репутация: 8
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 93
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #12, Отправлен: Февраль 19, 2012, 15:38:28 »
BETAJIb
всякие символы типа / "мешают" функции работать. Старайся брать такой фрагмент для поиска, который одновременно уникален и наиболее прост




  Записан

BETAJIb [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 25
  • Версия AutoIt: 3
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #13, Отправлен: Февраль 19, 2012, 17:05:56 »
а что за прикол??если задаю html код в переменную то все норм выбирает...е если через $aHTML = _IEDocReadHTML($oIE) то место того что бы выбрать что мне нужно,оно выкидает полность код всей html страницы ???




  Записан

DarWiM [?]

  • Новичок
  • *
  • Репутация: 8
  • Offline Offline
  • Пол: Мужской
  • Сообщений: 93
  • Версия AutoIt: 3.3.6.1
    • Награды
Re: Как выбрать текст между тегами?
« Ответ #14, Отправлен: Февраль 19, 2012, 17:14:51 »
BETAJIb

_IEDocReadHTML считывает весь код сохранённой страницы




  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Обработка ошибок при получении html - кода.
AutoIt для новичков
madmasles 7 2081 Последний ответ Январь 11, 2010, 23:52:42
от Yashied
[Сеть, интернет] Подмена HTML кода при загрузке
AutoIt для новичков
NoMad73rus 1 1075 Последний ответ Июнь 14, 2010, 12:21:19
от madmasles
[RegExp] Извлечение текста из html кода
Регулярные выражения и прочее
kosjachok 6 1818 Последний ответ Ноябрь 25, 2010, 14:25:44
от gregaz
Генерация html кода в txt файл.
AutoIt для новичков
astati 4 1102 Последний ответ Ноябрь 30, 2010, 07:16:05
от astati
Перенесено: Генерация html кода в txt файл.
Стол заказов
Kaster 0 921 Последний ответ Ноябрь 29, 2010, 22:39:27
от Kaster
[Данные, строки] Как взять кусок кода для autoit из файла
AutoIt для новичков
misha497 3 1282 Последний ответ Июнь 12, 2011, 01:45:55
от Kaster
Обработка HTML кода в AutoIt'e
Автоматизация IE и Web-интерфейса
Viktor1703 52 2475 Последний ответ Апрель 26, 2012, 18:40:25
от Viktor1703
Перенесено: [Автоматизация] Взять кусок кода из HTML
Автоматизация IE и Web-интерфейса
CreatoR 0 227 Последний ответ Февраль 19, 2012, 00:45:13
от CreatoR
[RegExp] Вытащить текст из html кода имеющего много кавычек
Регулярные выражения и прочее
_Lexa98_ 5 391 Последний ответ Март 01, 2012, 12:21:34
от _Lexa98_
[Автоматизация] Можно ли взять адрес папки из cmd, затем запустить программу и обработать папку
Стол заказов
Parnishka 13 393 Последний ответ Апрель 10, 2012, 01:19:10
от AZJIO


Реклама