<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Проверка на заполненость строки]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=5071</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=5071&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Проверка на заполненость строки».]]></description>
		<lastBuildDate>Fri, 22 Oct 2010 15:53:54 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Проверка на заполненость строки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40741#p40741</link>
			<description><![CDATA[<p>Сделал тестовый скрипт используя COM.ahk (<a href="http://www.autohotkey.net/~Sean/Lib/COM.zip">COM.zip</a>)<br />Крайне полезная тема: <a href="http://www.autohotkey.com/forum/viewtopic.php?t=51020">Basic Webpage Controls with JavaScript / COM</a></p><div class="codebox"><pre><code>#NoEnv
#Include COM.ahk ; из архива http://www.autohotkey.net/~Sean/Lib/COM.zip | тема http://www.autohotkey.com/forum/viewtopic.php?t=22923
SetBatchLines, -1
OnExit, exsub

Run, iexplore.exe ; запускаем IE

; сайты для тестов, js
site1 := &quot;http://yandex.ru/&quot;
site2 := &quot;http://google.ru/&quot;
js1 := &quot;document.getElementByID[sbtn].value&quot; ; значение по ID элемента
js2 := &quot;document.getElementsByTagName[input].item[2].value&quot; ; значение из 2-го элемента input
js3 := &quot;document.getElementsByName[btnG].item[1].value&quot; ; значение элемента по параметру name

COM_CoInitialize()
COM_Error(0) ; отключаем сообщения об ошибках

Loop 5 ; 5 попыток
{
    pwb := GetWebBrowser() ; получаем ссылку к объекту IE | pwb := IEGet(&quot;http://www.yandex.ru/&quot;) - альтернатива, если окно уже существует
    Sleep 1000
    If pwb
        Break
}
If !pwb
    ExitApp

COM_Invoke(pwb, &quot;Navigate&quot;, site1) ; перейдём на яндекс
While, COM_Invoke( pwb, &quot;ReadyState&quot; ) &lt;&gt; 4 ; ожидаем полной загрузки
    Sleep 50

value1 := COM_Invoke(pwb, js1) ; получаем значение value
value2 := COM_Invoke(pwb, js2)

COM_Invoke(pwb, &quot;Navigate&quot;, site2) ; идём на гугл
While, COM_Invoke( pwb, &quot;ReadyState&quot; ) &lt;&gt; 4 ; ожидаем полной загрузки
    Sleep 50

value3 := COM_Invoke(pwb, js3)
MsgBox %js1% - %site1%:`n%value1%`n`n%js2% - %site1%:`n%value2%`n`n%js3% - %site2%:`n%value3%

exsub:
COM_Release(pwb)
COM_CoUninitialize()
ExitApp
Return

GetWebBrowser() ; http://www.autohotkey.com/forum/viewtopic.php?p=155900#155900
{
   ControlGet, hIESvr, hWnd, , Internet Explorer_Server1, ahk_class IEFrame
   If Not   hIESvr
      Return
   DllCall(&quot;SendMessageTimeout&quot;, &quot;Uint&quot;, hIESvr, &quot;Uint&quot;, DllCall(&quot;RegisterWindowMessage&quot;, &quot;str&quot;, &quot;WM_HTML_GETOBJECT&quot;), &quot;Uint&quot;, 0, &quot;Uint&quot;, 0, &quot;Uint&quot;, 2, &quot;Uint&quot;, 1000, &quot;UintP&quot;, lResult)
   DllCall(&quot;oleacc\ObjectFromLresult&quot;, &quot;Uint&quot;, lResult, &quot;Uint&quot;, COM_GUID4String(IID_IHTMLDocument2,&quot;{332C4425-26CB-11D0-B483-00C04FD90119}&quot;), &quot;int&quot;, 0, &quot;UintP&quot;, pdoc)
   IID_IWebBrowserApp := &quot;{0002DF05-0000-0000-C000-000000000046}&quot;
   pweb := COM_QueryService(pdoc,IID_IWebBrowserApp,IID_IWebBrowserApp)
   COM_Release(pdoc)
   Return   pweb
}
IEGet( name=&quot;&quot; ) ; http://www.autohotkey.com/forum/viewtopic.php?t=51020
{
   IfEqual, Name,, WinGetTitle, Name, ahk_class IEFrame ; Get active window if no parameter
   Name := ( Name=&quot;New Tab - Windows Internet Explorer&quot; ) ? &quot;about:Tabs&quot; : RegExReplace( Name, &quot; - (Windows|Microsoft) Internet Explorer&quot; )
   oShell := COM_CreateObject( &quot;Shell.Application&quot; ) ; Contains reference to all explorer windows
   Loop, % COM_Invoke( oShell, &quot;Windows.Count&quot; ) {   
      If pwb := COM_Invoke( oShell, &quot;Windows.item[&quot; A_Index-1 &quot;]&quot; )
         If ( COM_Invoke( pwb, &quot;LocationName&quot; ) = name &amp;&amp; InStr( COM_Invoke( pwb, &quot;FullName&quot; ), &quot;iexplore.exe&quot; ) )
            Break
      COM_Release( pwb ), pwb := &quot;&quot;
   }
   COM_Release( oShell )
   Return, pwb
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ayosh)]]></author>
			<pubDate>Fri, 22 Oct 2010 15:53:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40741#p40741</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка на заполненость строки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40718#p40718</link>
			<description><![CDATA[<p>Не совсем понял как именно применить библикотеку.:|</p>]]></description>
			<author><![CDATA[null@example.com (Skare)]]></author>
			<pubDate>Fri, 22 Oct 2010 08:48:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40718#p40718</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка на заполненость строки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40699#p40699</link>
			<description><![CDATA[<p>Значит поле ajax&#039;ом подгружается. Тогда javascript&#039;ом вытаскивать значение окна браузера, т.е. value данного поля. Можно сделать с помощью той библиотеки, ссылку на которую я дал в предыдущем посте.</p>]]></description>
			<author><![CDATA[null@example.com (ayosh)]]></author>
			<pubDate>Thu, 21 Oct 2010 21:44:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40699#p40699</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка на заполненость строки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40690#p40690</link>
			<description><![CDATA[<p>Вот только в этой строке данные появляются уже после того, как в статус баре будет &quot;готово&quot; и каждый раз по разному(зависит от того, как сильно лагает сайт).<br />Ну или может можно сделать так, что бы проверяло, есть ли в этой строке заданное мною число, если есть то делать что-нибудь...<br />Как назначить эту проверку, именно этого окна?:)</p>]]></description>
			<author><![CDATA[null@example.com (Skare)]]></author>
			<pubDate>Thu, 21 Oct 2010 18:30:33 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40690#p40690</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проверка на заполненость строки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40685#p40685</link>
			<description><![CDATA[<p>Есть <a href="http://www.autohotkey.com/forum/viewtopic.php?t=51270">тема на форуме</a> Autohokey, и в ней есть скрипт iWebBrowser2 Learner, он может помочь с управлением IE окон.</p><p>А для определения статуса IE, можно попробовать через считывание строки состояния - т.е. statusbar.<br /></p><div class="codebox"><pre><code>SetTitleMatchMode, 2

Loop {
    StatusBarGetText, SBtext, 1, Internet Explorer
    If (SBtext=&quot;Ready&quot;||SBtext=&quot;Готово&quot;)
        Break
    Sleep 50
}

MsgBox Страница загружена</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (ayosh)]]></author>
			<pubDate>Thu, 21 Oct 2010 15:04:24 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40685#p40685</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Проверка на заполненость строки]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=40674#p40674</link>
			<description><![CDATA[<p><span class="postimg"><img src="http://s39.radikal.ru/i083/1010/d6/c20f21d57504.png" alt="http://s39.radikal.ru/i083/1010/d6/c20f21d57504.png" /></span><br />Собственно, как, с помощью AHK, распознать что в этой строке что-то находится?(не важно что именно) И если там что-то есть-выполнить определённую задачу(If строка не пустая&nbsp; {...}).<br />Или может как-нибудь можно через AHK определить, что страница в Internet Explorer загрузилась?:)</p>]]></description>
			<author><![CDATA[null@example.com (Skare)]]></author>
			<pubDate>Thu, 21 Oct 2010 10:50:13 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=40674#p40674</guid>
		</item>
	</channel>
</rss>
