<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS: Поиск по странице]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=10174</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10174&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS: Поиск по странице».]]></description>
		<lastBuildDate>Mon, 19 Jan 2015 14:40:38 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90735#p90735</link>
			<description><![CDATA[<p>Готово, описал всё в:<br /><a href="http://forum.script-coding.com/viewtopic.php?pid=90734#p90734">http://forum.script-coding.com/viewtopi … 734#p90734</a></p>]]></description>
			<author><![CDATA[null@example.com (cyber54245)]]></author>
			<pubDate>Mon, 19 Jan 2015 14:40:38 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90735#p90735</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90730#p90730</link>
			<description><![CDATA[<div class="quotebox"><cite>Flasher пишет:</cite><blockquote><p>... Мы этот вариант обсуждаем в соседней ветке, или я чего-то не понимаю? ...</p></blockquote></div><p><strong>cyber54245, </strong>во избежание путаницы предлагаю дальнейшее обсуждение Вашего вопроса вести в более новой ветке <a href="http://forum.script-coding.com/viewtopic.php?id=10341">http://forum.script-coding.com/viewtopic.php?id=10341</a>. Соберите всё, что у Вас накопилось на данный момент, опубликуйте код скрипта(-ов), опишите что работает не так, какие вываливаются ошибки.</p>]]></description>
			<author><![CDATA[null@example.com (omegastripes)]]></author>
			<pubDate>Mon, 19 Jan 2015 13:39:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90730#p90730</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90728#p90728</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>А в этом же скрипте возможно такое сделать?</p></blockquote></div><p>Мы этот вариант обсуждаем в соседней ветке, или я чего-то не понимаю? Может, всё же речь про то, как переходить по ссылкам <span class="bbu">одной</span> страницы?</p>]]></description>
			<author><![CDATA[null@example.com (Flasher)]]></author>
			<pubDate>Mon, 19 Jan 2015 13:28:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90728#p90728</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90721#p90721</link>
			<description><![CDATA[<p>Спасибо.<br />А в этом же скрипте возможно такое сделать? Ожидание загрузки страницы я выставил с запасом.</p><p>Это как-то так нужно?<br /></p><div class="codebox"><pre><code>Dim strUrl, oIE, oTag
Set WshShell = WScript.CreateObject(&quot;WScript.Shell&quot;)
strUrl = &quot;http://forum.script-coding.com/&quot;

Set oIE = CreateObject(&quot;InternetExplorer.Application&quot;)

oIE.Visible = True
oIE.Navigate strUrl
WScript.Sleep 5000


Do While Rnd &lt; .9
For Each oTag in oIE.Document.GetElementsByTagName(&quot;a&quot;)
    If InStr(1, oTag.href, &quot;.php&quot;) &gt; 0 Then
        
        
            WScript.Sleep 9900 + Rnd * 2000
            oTag.Click
               
        Exit For
    End If
Next
Loop </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (cyber54245)]]></author>
			<pubDate>Mon, 19 Jan 2015 12:20:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90721#p90721</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90703#p90703</link>
			<description><![CDATA[<p>Подобная ошибка будет возникать, если в результате &quot;щелчка&quot; по ссылке происходит переход на новую страницу (а, например, не выполнение js). В этом случае необходимо каждый раз после &quot;щелчка&quot; дожидаться готовности загружаемой страницы, находить интересующую ссылку заново и &quot;щелкать&quot;.</p>]]></description>
			<author><![CDATA[null@example.com (omegastripes)]]></author>
			<pubDate>Mon, 19 Jan 2015 03:20:34 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90703#p90703</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90699#p90699</link>
			<description><![CDATA[<p>Огромное спасибо, похоже это наилучший вариант. Но, получаю ошибку.<br />Сайт открывает нормально, по первой ссылке переходит без проблем, а вот при втором переходе получаю ошибку (Разрешение отклонено: &#039;Click&#039;, 800A0046):<br /><span class="postimg"><img src="http://clip2net.com/clip/m226184/68d0d-clip-20kb.jpg" alt="http://clip2net.com/clip/m226184/68d0d-clip-20kb.jpg" /></span></p><p>Вот такой вариант кода использую:<br /></p><div class="codebox"><pre><code>Dim strUrl, oIE, oTag
strUrl = &quot;http://forum.script-coding.com/&quot;

Set oIE = CreateObject(&quot;InternetExplorer.Application&quot;)

oIE.Visible = True
oIE.Navigate strUrl
WScript.Sleep 5000

For Each oTag in oIE.Document.GetElementsByTagName(&quot;a&quot;)
    If InStr(1, oTag.href, &quot;.php&quot;) &gt; 0 Then
        oTag.Click
        Do While Rnd &lt; .9
            WScript.Sleep 100 + Rnd * 9000
            oTag.Click
        Loop        
        Exit For
    End If
Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (cyber54245)]]></author>
			<pubDate>Sun, 18 Jan 2015 23:24:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90699#p90699</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90695#p90695</link>
			<description><![CDATA[<div class="quotebox"><cite>cyber54245 пишет:</cite><blockquote><p>Этот вариант я и пробовал. Но как сделать, чтобы действие click повторялось несколько раз подряд с разными WScript.Sleep между click.</p></blockquote></div><div class="codebox"><pre><code>
sSample = &quot;Главная&quot;
For Each oTag in oIE.Document.GetElementsByTagName(&quot;a&quot;)
    If Instr(1, oTag.InnerText, sSample, vbTextCompare) &gt; 0 Then
        oTag.Click
        Do While Rnd &lt; .9
            WScript.Sleep 100 + Rnd * 2000
            oTag.Click
        Loop        
        Exit For
    End If
Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (omegastripes)]]></author>
			<pubDate>Sun, 18 Jan 2015 21:28:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90695#p90695</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90685#p90685</link>
			<description><![CDATA[<p>Этот вариант я и пробовал. Но как сделать, чтобы действие click повторялось несколько раз подряд с разными WScript.Sleep между click.</p>]]></description>
			<author><![CDATA[null@example.com (cyber54245)]]></author>
			<pubDate>Sun, 18 Jan 2015 11:38:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90685#p90685</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90631#p90631</link>
			<description><![CDATA[<div class="quotebox"><cite>cyber54245 пишет:</cite><blockquote><p>... Просто произвести .click на ту найденную ссылку?</p></blockquote></div><p>Если имеется в виду, что нужно кликнуть ссылку, текст которой содержит искомое слово, то потребуется в цикле перебрать все ссылки на странице (тэги &lt;a&gt; DOM), и, у каждой проверяя вхождение искомого слова в содержимое её текстого узла, дойти до нужной и применить метод .click():<br /></p><div class="codebox"><pre><code>sSample = &quot;Главная&quot;
For Each oTag in oIE.Document.GetElementsByTagName(&quot;a&quot;)
    If Instr(1, oTag.innertext, sSample, vbTextCompare) &gt; 0 Then
        oTag.Click
        Exit For
    End If
Next</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (omegastripes)]]></author>
			<pubDate>Fri, 16 Jan 2015 22:57:02 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90631#p90631</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=90586#p90586</link>
			<description><![CDATA[<p>Подскажите пожалуйста, как вместо<br /></p><div class="codebox"><pre><code>WScript.Echo &quot;Text [&quot; &amp; strWord &amp; &quot;] found on Url [&quot; &amp; strUrl &amp; &quot;].&quot;</code></pre></div><p>Просто произвести .click на ту найденную ссылку?</p>]]></description>
			<author><![CDATA[null@example.com (cyber54245)]]></author>
			<pubDate>Thu, 15 Jan 2015 20:55:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=90586#p90586</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88535#p88535</link>
			<description><![CDATA[<p>Ну, как — теперь получилось?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Fri, 21 Nov 2014 02:37:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88535#p88535</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88534#p88534</link>
			<description><![CDATA[<p>Благодарю за подробный ответ</p>]]></description>
			<author><![CDATA[null@example.com (Dizzy221)]]></author>
			<pubDate>Thu, 20 Nov 2014 23:55:43 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88534#p88534</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88533#p88533</link>
			<description><![CDATA[<div class="quotebox"><cite>Dizzy221 пишет:</cite><blockquote><p>Хорошо, url http://forum.script-coding.com/<br /> Искомое слово &quot;форум&quot;, но прежнему безрезультатно...</p></blockquote></div><p>Отнюдь.<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>Option Explicit

Const READYSTATE_COMPLETE = 4


Dim strUrl
Dim strWord

Dim objIE


strUrl = &quot;http://forum.script-coding.com/&quot;
strWord = &quot;форум&quot;

With WScript.CreateObject(&quot;InternetExplorer.Application&quot;)
    .Visible = False
    .Navigate strUrl
    
    Do 
        WScript.Sleep 100
    Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
    
    If InStr(1, .Document.Body.innerText, strWord, vbTextCompare) &gt; 0 Then
        WScript.Echo &quot;Text [&quot; &amp; strWord &amp; &quot;] found on Url [&quot; &amp; strUrl &amp; &quot;].&quot;
    Else
        WScript.Echo &quot;Text [&quot; &amp; strWord &amp; &quot;] not found on Url [&quot; &amp; strUrl &amp; &quot;].&quot;
    End If
    
    .Quit
End With

WScript.Quit 0
</code></pre></div></div></div><p>Результат:<br /></p><div class="quotebox"><blockquote><div class="codebox"><pre><code>Text [форум] found on Url [http://forum.script-coding.com/].</code></pre></div></blockquote></div><p>Теперь по поводу Вашего кода выше.</p><ul><li><p>Кроме свойства «.Busy» надо проверять и состояние свойства «.ReadyState». И иногда (в случае пользования Ajax) — не один раз.</p></li><li><p>Не вижу необходимости брать свойство «.documentElement». Разве что Вас интересует мета-информация, скрипты и т.п.</p></li><li><p>К чему Вы берёте свойство «.innerHTML», а не «.innerText» мне также не понятно. Речь вроде бы шла про поиск <em>текста</em> на странице.</p></li><li><p>Функция «Instr()» работает не так, как Вы предполагаете: она возвращает не число вхождений подстроки, а позицию подстроки, если та найдена. К тому же, если первый необязательный параметр (с какого символа начинать поиск) опущен — поиск идёт двоичный (ибо в этом случае третий параметр тоже опускается) и потому — регистрозависимый. Например, если Вы попробуете поискать слово &quot;серый&quot;, то «InStr(1, .Document.Body.innerText, strWord, vbTextCompare) &gt; 0» его найдёт, а вот «InStr(.Document.Body.innerText, strWord) &gt; 0» — нет, поскольку слово «&quot;серый&quot;» встречается там только с заглавной буквы — «&quot;Серый&quot;».</p></li></ul>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 20 Nov 2014 23:45:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88533#p88533</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88532#p88532</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Вы не указали ни URL искомой страницы, ни искомое слово<br />Гадать о сферическом коне в вакууме не вижу смысла.</p></blockquote></div><p>Хорошо, url http://forum.script-coding.com/<br />Искомое слово &quot;форум&quot;, но прежнему безрезультатно...</p>]]></description>
			<author><![CDATA[null@example.com (Dizzy221)]]></author>
			<pubDate>Thu, 20 Nov 2014 23:15:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88532#p88532</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=88514#p88514</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>в чем ошибка?</p></blockquote></div><p>Ваша ошибка в том, что Вы по-прежнему умалчиваете о:<br /></p><div class="quotebox"><blockquote><p>Вы не указали ни URL искомой страницы, ни искомое слово</p></blockquote></div><p>Гадать о сферическом коне в вакууме не вижу смысла.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 20 Nov 2014 18:55:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=88514#p88514</guid>
		</item>
	</channel>
</rss>
