<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS: Поиск по странице]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10174&amp;type=atom" />
	<updated>2015-01-19T14:40:38Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10174</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90735#p90735" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[cyber54245]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32811</uri>
			</author>
			<updated>2015-01-19T14:40:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90735#p90735</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90730#p90730" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2015-01-19T13:39:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90730#p90730</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90728#p90728" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>А в этом же скрипте возможно такое сделать?</p></blockquote></div><p>Мы этот вариант обсуждаем в соседней ветке, или я чего-то не понимаю? Может, всё же речь про то, как переходить по ссылкам <span class="bbu">одной</span> страницы?</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2015-01-19T13:28:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90728#p90728</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90721#p90721" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[cyber54245]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32811</uri>
			</author>
			<updated>2015-01-19T12:20:29Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90721#p90721</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90703#p90703" />
			<content type="html"><![CDATA[<p>Подобная ошибка будет возникать, если в результате &quot;щелчка&quot; по ссылке происходит переход на новую страницу (а, например, не выполнение js). В этом случае необходимо каждый раз после &quot;щелчка&quot; дожидаться готовности загружаемой страницы, находить интересующую ссылку заново и &quot;щелкать&quot;.</p>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2015-01-19T03:20:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90703#p90703</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90699#p90699" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[cyber54245]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32811</uri>
			</author>
			<updated>2015-01-18T23:24:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90699#p90699</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90695#p90695" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2015-01-18T21:28:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90695#p90695</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90685#p90685" />
			<content type="html"><![CDATA[<p>Этот вариант я и пробовал. Но как сделать, чтобы действие click повторялось несколько раз подряд с разными WScript.Sleep между click.</p>]]></content>
			<author>
				<name><![CDATA[cyber54245]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32811</uri>
			</author>
			<updated>2015-01-18T11:38:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90685#p90685</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90631#p90631" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[omegastripes]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29228</uri>
			</author>
			<updated>2015-01-16T22:57:02Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90631#p90631</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=90586#p90586" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[cyber54245]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32811</uri>
			</author>
			<updated>2015-01-15T20:55:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=90586#p90586</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88535#p88535" />
			<content type="html"><![CDATA[<p>Ну, как — теперь получилось?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-11-21T02:37:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88535#p88535</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88534#p88534" />
			<content type="html"><![CDATA[<p>Благодарю за подробный ответ</p>]]></content>
			<author>
				<name><![CDATA[Dizzy221]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26614</uri>
			</author>
			<updated>2014-11-20T23:55:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88534#p88534</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88533#p88533" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-11-20T23:45:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88533#p88533</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88532#p88532" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Вы не указали ни URL искомой страницы, ни искомое слово<br />Гадать о сферическом коне в вакууме не вижу смысла.</p></blockquote></div><p>Хорошо, url http://forum.script-coding.com/<br />Искомое слово &quot;форум&quot;, но прежнему безрезультатно...</p>]]></content>
			<author>
				<name><![CDATA[Dizzy221]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26614</uri>
			</author>
			<updated>2014-11-20T23:15:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88532#p88532</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Поиск по странице]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=88514#p88514" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>в чем ошибка?</p></blockquote></div><p>Ваша ошибка в том, что Вы по-прежнему умалчиваете о:<br /></p><div class="quotebox"><blockquote><p>Вы не указали ни URL искомой страницы, ни искомое слово</p></blockquote></div><p>Гадать о сферическом коне в вакууме не вижу смысла.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2014-11-20T18:55:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=88514#p88514</id>
		</entry>
</feed>
