<?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=12122&amp;type=atom" />
	<updated>2016-11-05T07:28:22Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12122</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108801#p108801" />
			<content type="html"><![CDATA[<p><strong>ArtemonX</strong><br />Раскладка при том, что в соответствии с ней набирается текст текущего языка ввода.<br />Толку от сохранения скрипта в иной кодировке тут нет никакого.<br />Советую убрать фокус из полей в браузере и ввести <em>r</em> при латинице, потом при кириллице и посмотреть на поведение.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-11-05T07:28:22Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108801#p108801</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108800#p108800" />
			<content type="html"><![CDATA[<p><strong>ArtemonX</strong>, откатитесь на 46 мозиллу, отключите автоапдейты, установите селениум, приведенный по ссылке выше.<br />И по примеру подключения к гмейлу набросайте свой скрипт.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-05T07:21:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108800#p108800</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108799#p108799" />
			<content type="html"><![CDATA[<p><strong>Flasher</strong><br />Да я понимаю, что не надежно, и что нужно сократить время на выполнение процедуры до минимума. И тем не менее.<br />Я написал код с разбивкой на шаги и задержками для себя для наглядности и чтобы засечь момент, когда начинается сбой.<br /></p><div class="codebox"><pre><code>Option Explicit

Dim oBrows

Set oBrows = WScript.CreateObject(&quot;wscript.shell&quot;) 
oBrows.Run &quot;https://mail.ukr.net/classic/login&quot;, 1, False
wscript.sleep (5000)

call msgbox(&quot;p&quot;)
oBrows.sendkeys (&quot;p&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500
call msgbox(&quot;r&quot;)
oBrows.sendkeys (&quot;r&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500
call msgbox(&quot;o&quot;)
oBrows.sendkeys (&quot;o&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500
call msgbox(&quot;m&quot;)
oBrows.sendkeys (&quot;m&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500

oBrows.sendkeys (&quot;{TAB}&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500

oBrows.sendkeys (&quot;b&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500

oBrows.sendkeys (&quot;{enter}&quot;)

Set oBrows = Nothing
call msgbox(&quot;Finished!&quot;)
wscript.quit</code></pre></div><p>А сбой начинается как только встречается первая латинская буква. <br />При чем здесь раскладка клавиатуры?<br />Латинская буква &quot;r&quot; выводится как &quot;Ctrl-F&quot; появляется поле &quot;найти на странице&quot; и в этом поле появляются символы &quot;/-1&quot; ,например. <br />Может сам скрипт нужно сохранять в другой кодировке?<br />Я сохранял в 1251 ANSI-Кириллица.</p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-05T07:10:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108799#p108799</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108797#p108797" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ArtemonX пишет:</cite><blockquote><p>Я так понимаю можно создать/описать любой объект, добавить его в библиотеку, а затем его использовать.</p></blockquote></div><p>Создаётся объект как раз методом CreateObject, а описывается в библиотеке типов, которая содержится либо отдельно (tlb) либо входит в состав зарегистрированного в реестре компонента (dll, ocx, exe). В общем, без этих файлов нельзя получить непосредственный доступ к управлению нужной программой через COM.<br /></p><div class="quotebox"><cite>ArtemonX пишет:</cite><blockquote><p>не работает, т.к. в библиотеке не описан объект &quot;Firefox&quot;.</p></blockquote></div><p>В какой библиотеке? Этой библиотеки попросту нет в системе, да и взять её неоткуда. FireFox, как и ряд других браузеров, - это не продукт Microsoft, который вовсе не обязан заботиться о создании сторонних компонентов. Поэтому на стороне и появляются продукты вроде Selenium.</p><div class="quotebox"><cite>ArtemonX пишет:</cite><blockquote><p>А если логин и пароль латинскими буквами, то сразу на первой же букве какой-то сбой.</p></blockquote></div><p>Такой способ совершенно ненадёжен. Задержки Sleep не дают точной уверенности в том, что загрузка страницы будет окончена, ибо система с учётом общей нагрузки ведёт себя нестабильно. Tакже сиё не предовратит появление поверх приложения иных окон при выполнении SendKeys, который в свою очередь эмулирует нажатие клавиш с текущим языком ввода, а не ввод записанных букв. oBrows - это явно не то название, которое тут годится, ибо к браузеру не приурочено никаким боком. Обычно переменную именуют <em>WSH</em> или <em>WshShell</em>.<br />Комментарий &quot;&#039; задержка для возможности увидеть&quot; вообще никак не описывает текущую логику. Делать задержки между вводом в поля совершенно не требуется. Т.е. после установки нужного языка ввода вполне хватило бы записи:<br /></p><div class="codebox"><pre><code>WSH.SendKeys &quot;логин{TAB}пароль{ENTER}&quot;</code></pre></div><p>Последние 3 строчки вообще лишние.<br />Что касается латиницы, то в Win7+ остальное в SendKeys игнорируется, т.ч. там даже менять язык не нужно. На XP можно переключаться <a href="http://forum.script-coding.com/viewtopic.php?id=10919">таким способом</a>. Либо <a href="http://forum.script-coding.com/viewtopic.php?pid=106915#p106915">использовать AutoItX3 со вставкой</a>.<br />Но, как я уже предлагал, лучше Secure Login + AHK, только тему придётся уже создать в соотв. разделе.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-11-05T05:17:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108797#p108797</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108796#p108796" />
			<content type="html"><![CDATA[<p>Такой код выполняет то, что мне надо, только если логин и пароль русскими буквами:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim oBrows

Set oBrows = WScript.CreateObject(&quot;wscript.shell&quot;) 
&#039;oBrows.run &quot;firefox.exe&quot;
oBrows.Run &quot;https://mail.ukr.net/classic/login&quot;, 1, False
wscript.sleep (5000)

oBrows.sendkeys (&quot;логин&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500

oBrows.sendkeys (&quot;{TAB}&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500

oBrows.sendkeys (&quot;пароль&quot;)
&#039; задержка для возможности увидеть
     WScript.Sleep 500

oBrows.sendkeys (&quot;{enter}&quot;)

Set oBrows = Nothing
call msgbox(&quot;Finished!&quot;)
wscript.quit
</code></pre></div><p>А если логин и пароль латинскими буквами, то сразу на первой же букве какой-то сбой.</p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-04T21:45:34Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108796#p108796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108790#p108790" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>ArtemonX</strong><br />Прежде <a href="http://forum.script-coding.com/viewtopic.php?id=10437">прочитайте</a> и отредактируйте свои посты.</span></p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-11-04T14:29:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108790#p108790</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108789#p108789" />
			<content type="html"><![CDATA[<p><strong>Flasher</strong></p><p>Про ООП я имею только общее представление.&nbsp; Я так понимаю можно создать/описать любой объект, добавить его в библиотеку, а затем его использовать. <br />Таким образом эта конструкция <br /></p><div class="codebox"><pre><code>Set oBrows= CreateObject(&quot;Firefox.Application&quot;) </code></pre></div><p>не работает, т.к. в библиотеке не описан объект &quot;Firefox&quot;.<br />А как это сделать?<br />или<br />Я расчитывал на то, что всё уже придумано до меня <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-04T13:54:54Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108789#p108789</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108787#p108787" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong><br />Не нашел среди дополнений к моей мозиле Selenium add-on. Но есть Selenium Expert (Selenium IDE) , Selenium IDE Button и др.<br />Какой из них то?</p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-04T13:29:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108787#p108787</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108772#p108772" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>ArtemonX пишет:</cite><blockquote><p>но что обозначают слова &quot;WScript.Shell&quot; и почему именно &quot;WScript.Shell&quot; и откуда их берут?</p></blockquote></div><p>Для полного понимания приведу цитату из книги:<br /></p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header"><strong>+</strong>&nbsp;WSH для Windows 2000/XP. Попов А.В. 2002</div><div class="fancy_spoiler"><div class="quotebox"><blockquote><p>Для тoro чтобы из сценария получить доступ к свойствам или методам внешнеro сервера автоматизации, вначале надо &quot;создать&quot; соответствующий объект, т. е. заrpузитъ в память экземпляр нужного СОМ-объекта и coxpaнить в переменной ссылку на этот объект.<br />...<br />В любом случае в используемый метод или функцию в качестве параметра передается программный идентификатор объекта (<strong>ProgID</strong>), заключенный в скобки. Пример на языке JScript:<br /></p><div class="codebox"><pre><code>var wA==WScript.CreateObject(&quot;Word.Application&quot;);</code></pre></div><p>То же самое на VВScript:<br /></p><div class="codebox"><pre><code>Set WA==WScript.CreateObject(&quot;Word.Application&quot;)</code></pre></div><p>Перед точкой в <strong>ProgID</strong> стоит имя библиотеки типов (<strong>type library</strong>) для объекта, которая может существовать как в виде отдельноro файла с расширением <strong>tlb</strong>, так и в виде части файла с исполняемым кодом объекта (библиотека типов, содержащая сведения о СОМ-объекте, реrистрируется в системном реестре при установке приложения, использующеrо этот объект). После точки в <strong>ProgID</strong> указывается имя класса, содержащеro свойства и методы, доступные для использования дрyrими приложениями.<br />Выполняя метод <strong>CreateObject</strong>, интерпретатор сценария через <strong>ProgID</strong> получает из системноrо реестра путь к файлам нужной библиотеки типов. Затем с помощью этой библиотеки в память заrpужается экземпляр запрашиваемоro объекта, и ero интерфейсы становятся доступными для использования в сценарии. Ссылка на созданный объект сохраняется в переменной; в дальнейшем, используя эту переменную, мы получаем доступ к свойствам и методам объекта, а также к ero вложенным объектам (если они имеются).</p></blockquote></div></div></div><br /><div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Кстати Selenium не работает в мозилле <strong>новее чем 46.01</strong>.<br />Чем он вас не устраивает?</p></blockquote></div><p>&gt;<br /></p><div class="quotebox"><cite>ArtemonX пишет:</cite><blockquote><p>у меня мозилла <strong>49</strong>.00.</p></blockquote></div><p>Можно подумать в сторону подобного запуска Мозиллы и автологина после загрузки страницы с помощью расширения. Есть онлайновый <a href="https://addons.mozilla.org/en-US/firefox/addon/lastpass-password-manager/">LastPass Password Manager</a>, который это умеет. Есть оффлайновый <a href="https://addons.mozilla.org/ru/firefox/addon/secure-login/">Secure Login</a> с хоткеем. В случае последнего можно останавливать загрузку страницы по Esc и отслеживать смену значка анимации загрузки, после эмулировать Alt+N. Но это на чём-то вроде AHK лучше делать.</p>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-11-03T23:52:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108772#p108772</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108767#p108767" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Я конечно понимаю , что CreateObject(&quot;WScript.Shell&quot;)&nbsp; - это &quot;создается объект&quot;, но что обозначают слова &quot;WScript.Shell&quot; и почему именно &quot;WScript.Shell&quot; и откуда их берут?</p></blockquote></div><p>Ну есть такой объект. Но с помощью него конролировать фаерфокс вы не сможите:<br /><a href="http://www.script-coding.com/WSH.html">http://www.script-coding.com/WSH.html</a><br /></p><div class="quotebox"><blockquote><p>Как обозначить объектом приложение МОЗИЛУ?</p></blockquote></div><p>Я ж писал - через селениум.<br />Чем он вас не устраивает?</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-03T17:00:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108767#p108767</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108764#p108764" />
			<content type="html"><![CDATA[<p>Начну сначала, т.к. хочу понять как это работает.<br />Эта конструкция работает - запускает Мозилу и открывает страницу с указанным адресом:<br /></p><div class="codebox"><pre><code>Option Explicit

Dim oBrows

Set oBrows = CreateObject(&quot;WScript.Shell&quot;)
oBrows.Run &quot;http://www.youtube.com/&quot; 
Set oBrows = Nothing

WScript.Quit 0
</code></pre></div><p>Я конечно понимаю , что CreateObject(&quot;WScript.Shell&quot;)&nbsp; - это &quot;создается объект&quot;, но что обозначают слова &quot;WScript.Shell&quot; и почему именно &quot;WScript.Shell&quot; и откуда их берут?</p><p>Если я пишу так<br /></p><div class="codebox"><pre><code>
Option Explicit

Dim oBrows

Set oBrows= CreateObject(&quot;Firefox.Application&quot;)  &#039;здесь выдает ошибку : Невозможно создание объекта контейнером ActiveX: Firefox.Application

oBrows.Visible = True

oBrows.Navigate &quot;http://www.youtube.com/&quot;

&#039;Ждём окончания загрузки
SyncNavigate()
</code></pre></div><p>то выдает ошибку : Невозможно создание объекта контейнером ActiveX: Firefox.Application<br />Как обозначить объектом приложение МОЗИЛУ?</p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-03T11:08:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108764#p108764</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108758#p108758" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>Без Селениума есть варианты по моей теме?</p></blockquote></div><p>Я других способов автоматизировать фаерфокс не знаю.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-02T21:21:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108758#p108758</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108757#p108757" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong></p><p>у меня мозилла 49.00.<br />Вот этот код:<br /></p><div class="codebox"><pre><code>
&#039; ---------------------------------------------------------------------------------------
&#039; Login to GMail using Firefox
&#039; ---------------------------------------------------------------------------------------

Class Script
    Dim driver

    Sub Class_Initialize
        Set driver = CreateObject(&quot;Selenium.FirefoxDriver&quot;)
        driver.Get &quot;https://accounts.google.com/ServiceLogin&quot;
        driver.FindElementById(&quot;Email&quot;).SendKeys &quot;your email&quot;
        driver.FindElementById(&quot;next&quot;).Click
        driver.FindElementById(&quot;Passwd&quot;).SendKeys &quot;your password&quot;
        driver.FindElementById(&quot;signIn&quot;).Click
        
        WScript.Echo &quot;Click OK to close the browser&quot;
    End Sub

    Sub Class_Terminate
        driver.Quit
    End Sub
End Class
</code></pre></div><p>Он не будет работать без Селениума:<br /></p><div class="codebox"><pre><code> Set driver = CreateObject(&quot;Selenium.FirefoxDriver&quot;)</code></pre></div><p>Без Селениума есть варианты по моей теме?</p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-02T20:56:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108757#p108757</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108756#p108756" />
			<content type="html"><![CDATA[<p>Так там же примеры есть.<br />Один, думаю, как-раз тот, что вам нужно:<br /></p><div class="quotebox"><blockquote><p>C:\Program Files\SeleniumBasic\Examples\VBScript\GmailSignIn(Firefox).vbs</p></blockquote></div><p>Сам я сильно в Selenium не копался, но в Firefox устанавливается Selenium add-on, который может записывать действия на странице.<br />Кстати Selenium не работает в мозилле новее чем 46.01.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-11-02T20:37:40Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108756#p108756</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS: Вход на почту через браузер]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=108755#p108755" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong>, спасибо за совет. Установил это дополнение, но разобраться в этом не могу (англ.яз. не знаю). <br />Я в VBA (в Access) использовал такой прием как записывал макрос , а потом его преобразовывал в код VBA.<br />В описании на других ресурсах/сайтах я&nbsp; прочитал, что в Selenium есть такая же возможность, но я не понял как и где.</p><p>Я здесь на форуме поискал сначала, почитал, и открывая новую тему , расчитывал на конкретные подсказки.</p><br /><p>В моем коде (первый фрагмент) я написал как комментарии , где и какие ошибки выпадают. Как их исправить?</p>]]></content>
			<author>
				<name><![CDATA[ArtemonX]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34302</uri>
			</author>
			<updated>2016-11-02T19:00:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=108755#p108755</id>
		</entry>
</feed>
