Что нового

[Данные, строки] StringRegExp как работает?

B1ad3

Новичок
Сообщения
34
Репутация
0
Не могу прочитать нужный текст на открытой html-страничке.
Прочитать мне надо число 10 в теге внизу <td>2/10<td>. И присвоить значение 10 переменной $sX.

Вот код
Код:
<tr class="row_a"> 
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=spear', 520, 520)"> <img src="graphic/unit/unit_spear.png?1" alt="" /> копейщик</a></td> 
		<td class="nowrap"><span class="icon header wood"> </span> 50</td> 
		<td class="nowrap"><span class="icon header stone"> </span> 30</td> 
		<td class="nowrap"><span class="icon header iron" > </span> 10</td> 
		<td class="nowrap"><span class="icon header population"> </span> 1</td> 
 
				<td>0:02:39</td> 
 
		<td>0/0</td> 
	
			<td><input name="spear" id="spear" type="text" size="5" maxlength="5" /> 
		<a href="javascript:insertUnit(gid('spear'), 8)">(до 8)</a> 
		</td> 
	
	</tr> 
			<tr class="row_a"> 
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=sword', 520, 520)"> <img src="graphic/unit/unit_sword.png?1" alt="" /> мечник</a></td> 
		<td class="nowrap"><span class="icon header wood"> </span> 30</td> 
		<td class="nowrap"><span class="icon header stone"> </span> 30</td> 
		<td class="nowrap"><span class="icon header iron" > </span> 70</td> 
		<td class="nowrap"><span class="icon header population"> </span> 1</td> 
 
				<td>0:03:53</td> 
 
		<td>0/0</td> 
	
			<td><input name="sword" id="sword" type="text" size="5" maxlength="5" /> 
		<a href="javascript:insertUnit(gid('sword'), 13)">(до 13)</a> 
		</td> 
	
	</tr> 
			<tr class="row_a"> 
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=axe', 520, 520)"> <img src="graphic/unit/unit_axe.png?1" alt="" /> топорник</a></td> 
		<td class="nowrap"><span class="icon header wood"> </span> 60</td> 
		<td class="nowrap"><span class="icon header stone"> </span> 30</td> 
		<td class="nowrap"><span class="icon header iron" > </span> 40</td> 
		<td class="nowrap"><span class="icon header population"> </span> 1</td> 
 
				<td>0:03:26</td> 
 
		<td>2/10</td>  # в этом теге надо прочитать число, которое стоит после / (в даном случае это число 10)
	
			<td><input name="axe" id="axe" type="text" size="5" maxlength="5" /> 
		<a href="javascript:insertUnit(gid('axe'), 6)">(до 6)</a> 
		</td> 
	
	</tr>
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
Re: [Данные, строки] Не умею читать

B1ad3
Попробуйте так:
Код:
$hFile = FileOpen('1.txt', 0)
$sText = FileRead($hFile)
FileClose($hFile)
$sX = StringRegExpReplace($sText, '(?s).*?<td>[1-9]{1}/(\d{1,2})</td>.*', '\1')
MsgBox(0, '', $sX)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 713
Re: [Данные, строки] Не умею читать

{TopicNameWarn.SModer}
 
Автор
B

B1ad3

Новичок
Сообщения
34
Репутация
0
Re: [Данные, строки] Не умею читать

madmasles сказал(а):
B1ad3
Попробуйте так:
Код:
$hFile = FileOpen('1.txt', 0)
$sText = FileRead($hFile)
FileClose($hFile)
$sX = StringRegExpReplace($sText, '(?s).*?<td>[1-9]{1}/(\d{1,2})</td>.*', '\1')
MsgBox(0, '', $sX)
зачем мне открывать какой-то файл? я же написал выше, что это html страница, над которой я буду получать контроль с помощью
Код:
#include <IE.au3>
$hwnd=WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hwnd,'HWND')


тоесть у меня должно получиться вот что-то в этом роде.
Код:
#include <IE.au3>
$hwnd=WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hwnd,'HWND')
$sX = StringRegExpReplace($oIE, '(?s).*?<td>[0-9]{1}/(\d{1,2})</td>.*', '\1')
MsgBox(0, '', $sX)


только оно не работает. при запуске на нужной мне страничке выводит пустой MsgBox
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
B1ad3
Вы справку почаще читайте.
Код:
;...
$oIE = _IEAttach($hwnd,'HWND')
$sHTML = _IEDocReadHTML ($oIE)
$sX = StringRegExpReplace($sHTML, '(?s).*?<td>[1-9]{1}/(\d{1,2})</td>.*', '\1')
MsgBox(0, '', $sX)
 

Waik

Знающий
Сообщения
60
Репутация
16
Здравствуйте,
не хочу плодить темы и прошу здесь.Помогите с регуляркой.
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
B1ad3 [?]
только оно не работает. при запуске на нужной мне страничке выводит пустой MsgBox
Вот почему сразу не работает?! ;D Просто в тексте есть ещё пара, которая подходит под шаблон <td>0/0</td>


Добавлено:
Сообщение автоматически объединено:

Код:
#include <IE.au3>
WinActivate('[CLASS:IEFrame]')
$hwnd=WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hwnd,'HWND')
$oHTML = _IEDocReadHTML($oIE)
$aRegExp = StringRegExp($oHTML, '(\d{1}/\d{2})', 1)
$aResult = StringSplit($aRegExp[0],"/",2)
MsgBox(0, '', $aResult[1])
 

axlwor

Скриптер
Сообщения
657
Репутация
147
что то оригинал не разобрать. придется помогать вейку :laugh:. уж очень у него задача интересная
 
Автор
B

B1ad3

Новичок
Сообщения
34
Репутация
0
тут "атцы" часто пишут "читай справку"! вот тогда не пойму, зачем создали раздел AutoIT для новичков?! ни один пример выше - не работает :(

вот весь код страницы:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Империя (500|200) - Война племён - Мир 10</title>
		<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
		<link rel="stylesheet" type="text/css" href="/style.php?type=static_game&amp;stamm_new_menu&amp;sprites&amp;jquery.tooltip&amp;1283764011" />
		<link rel="stylesheet" type="text/css" href="/style.php?type=game&amp;stamm_new_menu&amp;stamm&amp;overview&amp;1284369428" />
				<script type="text/javascript" src="/js.php?jquery-1.4.2.min&amp;jquery-cookie&amp;jquery.form&amp;jquery.scrollTo&amp;jquery.tooltip.min&amp;jquery.fadeToggle.min&amp;jquery.blink.min&amp;jquery-ui-core.1.8.min&amp;jquery-ui-draggable.1.8.min&amp;UI&amp;Callback&amp;BBCodes&amp;dialogs&amp;observer&amp;ajax&amp;script&amp;menu&amp;1284369428"></script>
        <script type="text/javascript">
//<![CDATA[
if(!top || top.frames.length < 2) { top.location="/staemme.php?village=96521&screen=barracks";}
//]]>
</script>
        <script type="text/javascript">
            //<![CDATA[
            var image_base = "graphic";
            
			
			var game_data = {"player":{"id":"1111111","name":"vasya","ally_id":"2000","villages":"358","points":"150452","rank":"128","incomings":"0","sitter_id":"0"},"village":{"id":3546,"name":"\u0430\u0432 \u0418\u043c\u043f\u0435\u0440\u0438\u0438","coord":"500|200","con":"K25","bonus":null,"group":"0","buildings":{"main":"22","farm":"29","storage":"30","place":"1","barracks":"25","church":"0","church_f":"0","smith":"20","wood":"30","stone":"30","iron":"30","market":"19","stable":"20","wall":"20","garage":"15","hide":"10","snob":"1","statue":"0"}},"link_base":"\/game.php?village=96521&amp;screen=","link_base_pure":"\/game.php?village=96521&screen=","csrf":"f344","world":"ru10","market":"ru","version":"9497 6.5\n","screen":"barracks","mode":null};

			//]]>
        </script>
    </head>
	<body id="ds_body">
        <div class="top_background"></div>
        <div style="text-align: center;">
            <table class="navi-border" style="width: 840px; border-collapse: collapse; margin:11px auto auto; text-align: left;">
                <tr>
                    <td>
                        <table class="menu nowrap" width="840">
                            <tr id="menu_row">
                                <td><a href="/game.php?village=96521&amp;screen=&amp;action=logout&amp;h=ec0a" target="_top">Выйти</a></td>
                                <td><a href="http://forum.voyna-plemyon.ru/index.php" target="_blank">Форум</a></td>
                                <td><a href="/help2.php" target="_blank">Помощь</a></td>
                                <td><a href="/game.php?village=96521&amp;screen=settings">Настройки</a></td>
                                <td><a href="/game.php?village=96521&amp;screen=premium">Премиум</a></td>
                                <td style="padding-right:0px;width:15px;"><a href="/game.php?village=96521&amp;screen=ranking">Рейтинг</a></td>
                                <td style="padding-left:0px;"> (177.|1<span class="grey">.</span>690<span class="grey">.</span>740 P)</td>
								                                <td><a href="/game.php?village=96521&amp;screen=ally">Племя</a></td>
																	<td width="15" style="padding-right:0px;"><a href="/game.php?village=96521&amp;screen=report"><span class="icon header new_report" title="Новый отчёт"></span></a></td>
								                                <td style="padding-left:0px;"><a href="/game.php?village=96521&amp;screen=report">Отчёты</a></td>
								                                <td><a href="/game.php?village=96521&amp;screen=mail">Сообщения</a></td>
												<td><a href="/game.php?village=96521&amp;screen=buddies">Друзья</a></td>                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </div>
                
        
        
        

                
        

        <hr width="840" size="2" />

        <table id="header_info" align="center" width="840" cellspacing="0" style="padding:0;margin-bottom:4px">
            <tr>
                <td>
                    <table class="navi-border" style="border-collapse: collapse;">
                        <tr>
                            <td>
                                <table class="menu nowrap" style="width:100%;">
                                    <tr id="menu_row2">
                                        <td><a href="/game.php?village=96521&amp;screen=overview_villages" accesskey="s">Обзор деревень</a></td>
                                        <td id="menu_row2_map">
                                                                                        <a id="menu_map_link" href="/game.php?village=96521&amp;screen=map">Карта</a>
                                                                                    </td>
																																								                                        <td style="white-space:normal;" id="menu_row2_village"><a href="/game.php?village=96521&amp;screen=overview">*06.**Включена в состав Империи</a></td><td><b class="nowrap">(733|289) K27</b></td>
										                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>

                <td align="right">
                    <table align="right" class="navi-border menu_block_right">
                        <tr>
                            <td>
                                <table class="box" cellspacing="0" style="empty-cells:show;">
                                    <tr style="height: 20px;">
                                        <td class="icon-box"><a href="/game.php?village=96521&amp;screen=wood" title="Дерево"><span class="icon header wood"> </span></a></td>
                                        <td><span id="wood" title="3000" >185438</span> </td>
                                        <td class="icon-box"><a href="/game.php?village=96521&amp;screen=stone" title="Глина"><span class="icon header stone"> </span></a></td>
                                        <td><span id="stone" title="3000" >212300</span> </td>
                                        <td class="icon-box"><a href="/game.php?village=96521&amp;screen=iron" title="Металл"><span class="icon header iron" > </span></a></td>
                                        <td><span id="iron" title="3000" >336077</span> </td>
                                        <td style="border-left: dotted 1px;"></td>
                                        <td class="icon-box"><a href="/game.php?village=96521&amp;screen=storage" title="Ёмкость склада"><span class="icon header ressources"> </span></a></td>
                                        <td id="storage">400000</td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>

                <td align="center">
                    <table class="navi-border menu_block_right">
                        <tr>
                            <td>
                                <table class="box" cellspacing="0" style="margin:0;padding:0;">
                                    <tr style="margin:0;padding:0;">
                                        <td class="icon-box"><a href="/game.php?village=96521&amp;screen=farm" title="Усадьба"><span class="icon header population"> </span></a></td>
                                        <td align="center" style="margin:0;padding:0;"><span id="pop_current">10913</span>/<span id="pop_max">20476</span></td>
                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </table>
                </td>

		
		
                        </tr>

	    </table>

    

    
            <table align="center">
        <tr>
            <td>
                <table class="content-border">
                    <tr>
                        <td>
                            <table class="main" width="840" align="center">
                                <tr>
                                    <td id="content_value"><table width="100%"><tr><td valign="top"><img src="graphic/big_buildings/barracks3.png?1" title="Казарма" alt="" /></td><td valign="top" width="100%"><h2>Казарма 25-го уровня</h2>В казарме вы можете тренировать пехоту. Чем выше уровень постройки казармы, тем быстрее обучаются войска.</td></tr></table>
<table class="vis">
<tr>
	<th width="250">Завершение подготовки следующей единицы (мечников):</th>
	<th><span class="timer">0:03:06</span></th>
</tr>
</table>

<table class="vis">
<tr><th width="150">Подготовка</th><th width="120">Продолжительность</th><th width="150">Завершение</th><th width="100">Отмена *</th></tr>

<tr class="lit">
	<td>790 мечников</td>
	<td><span class="timer">40:54:15</span></td>
	<td>23.09. в 01:26:07</td>
	<td><a href="/game.php?village=96521&amp;screen=barracks&amp;action=cancel&amp;h=f344&amp;id=31830609">отменить</a></td>
</tr>

<tr>
	<td>1000 копейщиков</td>
	<td>35:12:32</td> 	<td>24.09. в 12:38:39</td>
	<td><a href="/game.php?village=96521&amp;screen=barracks&amp;action=cancel&amp;h=f344&amp;id=31981903">отменить</a></td>
</tr>

</table>

<div style="font-size: 7pt;">* (будет возвращено 90% сырья)</div>

<form action="/game.php?village=96521&amp;screen=barracks&amp;action=train&amp;h=f344" method="post" onsubmit="this.submit.disabled=true;">
<table class="vis">
<tr>
		<th width="190">Единица</th>
	<th colspan="4" width="200">Потребность</th>
	<th width="120">Время (чч:мм:сс)</th>
	<th>В деревне/всего</th>
		<th>Призыв</th>
</tr>

			<tr class="row_a">
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=spear', 520, 520)"> <img src="graphic/unit/unit_spear.png?1" alt="" /> копейщик</a></td>
		<td class="nowrap"><span class="icon header wood"> </span> 50</td>
		<td class="nowrap"><span class="icon header stone"> </span> 30</td>
		<td class="nowrap"><span class="icon header iron" > </span> 10</td>
		<td class="nowrap"><span class="icon header population"> </span> 1</td>

				<td>0:02:07</td>

		<td>3500/3500</td>
	
			<td><input name="spear" id="spear" type="text" size="5" maxlength="5" tabindex="1"/>
		<a id="spear_a" href="javascript:insertUnit(gid('spear'), 3708)">(до 3708)</a>
		</td>
	
	</tr>
			<tr class="row_a">
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=sword', 520, 520)"> <img src="graphic/unit/unit_sword.png?1" alt="" /> мечник</a></td>
		<td class="nowrap"><span class="icon header wood"> </span> 30</td>
		<td class="nowrap"><span class="icon header stone"> </span> 30</td>
		<td class="nowrap"><span class="icon header iron" > </span> 70</td>
		<td class="nowrap"><span class="icon header population"> </span> 1</td>

				<td>0:03:07</td>

		<td>2060/2060</td>
	
			<td><input name="sword" id="sword" type="text" size="5" maxlength="5" tabindex="2"/>
		<a id="sword_a" href="javascript:insertUnit(gid('sword'), 4801)">(до 4801)</a>
		</td>
	
	</tr>
			<tr class="row_a">
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=axe', 520, 520)"> <img src="graphic/unit/unit_axe.png?1" alt="" /> топорник</a></td>
		<td class="nowrap"><span class="icon header wood"> </span> 60</td>
		<td class="nowrap"><span class="icon header stone"> </span> 30</td>
		<td class="nowrap"><span class="icon header iron" > </span> 40</td>
		<td class="nowrap"><span class="icon header population"> </span> 1</td>

				<td>0:02:45</td>

		<td>0/0</td>
	
			<td><input name="axe" id="axe" type="text" size="5" maxlength="5" tabindex="3"/>
		<a id="axe_a" href="javascript:insertUnit(gid('axe'), 3090)">(до 3090)</a>
		</td>
	
	</tr>
			<tr class="row_a">
		<td><a href="javascript:popup_scroll('popup_unit.php?unit=archer', 520, 520)"> <img src="graphic/unit/unit_archer.png?1" alt="" /> лучник</a></td>
		<td class="nowrap"><span class="icon header wood"> </span> 100</td>
		<td class="nowrap"><span class="icon header stone"> </span> 30</td>
		<td class="nowrap"><span class="icon header iron" > </span> 60</td>
		<td class="nowrap"><span class="icon header population"> </span> 1</td>

				<td>0:03:44</td>

		<td>255/255</td>
	
			<td><input name="archer" id="archer" type="text" size="5" maxlength="5" tabindex="4"/>
		<a id="archer_a" href="javascript:insertUnit(gid('archer'), 1854)">(до 1854)</a>
		</td>
	
	</tr>

<tr><td colspan="8" align="right"><input name="submit" type="submit" value="Призыв" style="font-size: 10pt;" /></td></tr>

</table>
</form>


									<p align="right" class="server_info" >страница сформирована за 40мс 
									время сервера: <span id="serverTime">8:31:52</span> <span id="serverDate">21/09/2010</span>
																		</p>
								</td>
							</tr>
						</table>
					</td>
				</tr>
			</table>
		</td>
	</tr>
</table>

<script type="text/javascript">startTimer();</script>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-1897727-9']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
  })();
</script>
</body>
</html>


и вот скрин:

красным выделены числа, которые мне надо прочитать и присвоить переменным 1, 2, 3, 4.
 

axlwor

Скриптер
Сообщения
657
Репутация
147
"атцы" создали для новичков раздел, чтобы побыстрее найти писателей в раздел "боты". :laugh:
прежде чем я смог более-менее нормально писать боты под игры я долго читал книгу по регэкспу и html/javascript

Смысл тебе получать эти переменные, если ты все равно будешь вводить нужное количество и нажимать на кнопки. Проще сразу получить всю таблицу и на основе ее думать следующее действие. Тут пробовать нужно и лучше через ИЕ/FF
что то похожее на
Код:
#include <IE.au3>
#include <array.au3>  
$oIE = _IEAttach()
$oTable = _IETableGetCollection ( $oIE, 16] )
$A = _IETableWriteToArray ( $oTable)
_ArrayDisplay($A)


вот тебе 4 цифры
Код:
#include <IE.au3>
#include <array.au3>
WinActivate('[CLASS:IEFrame]')
$hwnd=WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hwnd,'HWND')
$oHTML = _IEDocReadHTML($oIE)
$aRegExp = StringRegExp($oHTML, '<(?i)td>\d+/(\d+)</(?i)td>', 3)
_arraydisplay($aRegExp)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
B1ad3 [?]
зачем создали раздел AutoIT для новичков?
Чтобы помагать новичкам, направлять в нужное направление.
Если в справке уже написано как работать с этой функцией, зачем здесь это повторять? мы можем только разжевать это, а глотать и переваривать придётся всё таки вам.

вот весь код страницы
Почему он заключён в тег autoit?

красным выделены числа, которые мне надо прочитать и присвоить переменным 1, 2, 3, 4
Код:
$vTest = ClipGet() ;Тут код страницы

$aRet = StringRegExp($vTest, '<td class="nowrap"><span class="icon header population"> </span> .+?</td>\s+<td>.+?</td>\s+<td>.+?/(.+?)</td>\s+<td><input .+?/>', 3)

For $i = 1 To 4
	Assign($i, $aRet[$i-1], 2)
	ConsoleWrite(Eval($i) & @LF)
Next
 
Автор
B

B1ad3

Новичок
Сообщения
34
Репутация
0
Код:
$vTest = ClipGet() ;Тут код страницы

$aRet = StringRegExp($vTest, '<td class="nowrap"><span class="icon header population"> </span> .+?</td>\s+<td>.+?</td>\s+<td>.+?/(.+?)</td>\s+<td><input .+?/>', 3)

For $i = 1 To 4
    Assign($i, $aRet[$i-1], 2)
    ConsoleWrite(Eval($i) & @LF)
Next

работает только это. но выводит нужные мне числа в консоли. а мне нужно работать с каждым из этих чисел. и еще один минус то, что надо каждый раз окрывать "Просмотр HTML кода страницы" и копировать все в буфер обмена. Можно ли по другому?
 

Garrett

Модератор
Локальный модератор
Сообщения
3 999
Репутация
964
B1ad3 [?]
мне нужно работать с каждым из этих чисел. и еще один минус то, что надо каждый раз окрывать "Просмотр HTML кода страницы" и копировать все в буфер обмена. Можно ли по другому?
Код:
#include <IE.au3>
WinActivate('[CLASS:IEFrame]')
$hWin = WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hWin,'HWND')
$oHTML = _IEDocReadHTML($oIE)
Dim $iOffset = 1
Dim $aNum[1]
    While 1
        $aRegExp = StringRegExp($oHTML, '(?i)(?:<td>)(?:\d{1,4}/)(\d{1,4})(?:</td>)', 1, $iOffset)
        If @error = 0 Then
            $iOffset = @extended
        Else
            ExitLoop
        EndIf
        For $i = 0 To UBound($aRegExp)-1
            ReDim $aNum[UBound($aNum)+1]
            $aNum[0] = UBound($aNum)-1
            $aNum[UBound($aNum)-1] = $aRegExp[0] ; Массив содержит ваши числа. $aNum[0] - количество найденных чисел
        Next
    WEnd
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
B1ad3 [?]
выводит нужные мне числа в консоли. а мне нужно работать с каждым из этих чисел
Eval($i) это и есть твои числа. После этого прохода создаются переменные $1, $2, $3, и $4, которые содержат нужные числа.

надо каждый раз окрывать "Просмотр HTML кода страницы" и копировать все в буфер обмена. Можно ли по другому?
Это всего лишь пример, вместо ClipGet можно подставить любой другой источник, например чтение страницы с файла (FileRead).
 
Автор
B

B1ad3

Новичок
Сообщения
34
Репутация
0
Это всего лишь пример, вместо ClipGet можно подставить любой другой источник, например чтение страницы с файла (FileRead).
Код:
#include <IE.au3>
WinActivate('[CLASS:IEFrame]')
$hWin = WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hWin,'HWND')
$oHTML = _IEDocReadHTML($oIE)
$aRet = StringRegExp($oHTML, '<td class="nowrap"><span class="icon header population"> </span> .+?</td>\s+<td>.+?</td>\s+<td>.+?/(.+?)</td>\s+<td><input .+?/>', 3)
For $i = 1 To 4
    Assign($i, $aRet[$i-1], 2)
    ConsoleWrite(Eval($i) & @LF)
Next

вот при такой попытке получаю ошибку Subscript used with non-Array variable.:
Assign($i, $aRet[$i-1], 2)
Assign($i, $aRet^ ERROR
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 473
Репутация
2 403
B1ad3 [?]
при такой попытке получаю ошибку
А что возвращает «_IEDocReadHTML»? и на какой странице проверять, ссылку можно?
 

axlwor

Скриптер
Сообщения
657
Репутация
147
после регэкспа проверь @error, а то массива может и не быть :whistle:
да и цикл я бы делал
Код:
For $i = 0 To Ubound($aRet) - 1
    Assign($i, $aRet[$i-1], 2)
    ConsoleWrite(Eval($i) & @LF)
Next
 
Автор
B

B1ad3

Новичок
Сообщения
34
Репутация
0
А что возвращает
Код:
_IEDocReadHTML
? и на какой странице проверять, ссылку можно?
Returns the full HTML source of a document, а на какой странице можно использовать? и что можно тогда в моем случае использовать?
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 575
Репутация
335
Эту функцию можно использовать если в качестве ее аргумента выступает URL адрес
Код:
#include <IE.au3>
WinActivate('[CLASS:IEFrame]')
$hWin = WinGetHandle('[CLASS:IEFrame]')
$oIE = _IEAttach($hWin,'HWND')
$oHTML = _IEDocReadHTML($oIE)
MsgBox(0,"Проверка",$oIE & $oHTML)

Скажите что Вам выдаст такой код?
 
Верх