Почему мой VBScript не делает в Windows 10 то же самое, что и в Windows 7? - PullRequest
0 голосов
/ 17 декабря 2018

Я создал командный файл, который запускает некоторый VBScript, который отлично работает в Windows 7, но не в Windows 10. Почему он не работает на обоих?

Пакетный файл выполняет 6 вещей, которыеперечислено ниже.В Windows 7 все 6 вещей происходят.В Windows 10 все, кроме пункта 5, выполняется, и заголовок окна не изменяется.

  1. открывает Internet Explorer
  2. переводит окно на передний план
  3. перемещается квеб-страница
  4. ждет 1,5 секунды, чтобы разрешить загрузку веб-страницы
  5. меняет заголовок окна с «MultiSmart» на «Community MultiSmart»
  6. выходит

Вот командный файл.

<!-- :
@echo off
cscript //nologo "%~f0?.wsf" %*
exit /b
-->

<job>
  <script language="VBScript">

  Set ie = WScript.CreateObject("InternetExplorer.Application")

   'ie properties

    ie.ToolBar = 0
    ie.StatusBar = 0
    ie.Width = 816
    ie.Height = 519
    ie.Visible = 1
    ie.Resizable = 0

   'bring window to foreground
    CreateObject("WScript.Shell").AppActivate "Internet Explorer"

   'navigate to Stony Mountain Lift Station's Multismart
    ie.Navigate("http://192.168.0.11/")

   'wait for page to load into browser
    Wscript.Sleep 1500

   'change window title
    ie.document.title="Community MultiSmart"

  </script>
</job>

Ответы [ 2 ]

0 голосов
/ 22 января 2019

Я повторно публикую комментарий npocmaka, который ответил на мой вопрос в качестве ответа.

, потому что это зависит от версии Internet Explorer

Версии были другими.То, что работало в IE 11.0.966.18920, не работало в IE 11.461.16299.0.

0 голосов
/ 18 декабря 2018

Я бы дважды проверил, что веб-страница полностью загружена.

Измените эту строку:

Wscript.Sleep 1500

на

While IE.ReadyState < 4
    Wscript.Sleep 250
Wend

Неясно, будет ли комментарий npocmaka из:
"... Добавить метаданные для принудительного использования старого браузера в Windows 10."

работал у вас или нет. Если нет , рассмотрите эту альтернативу:

Проверьте настройки безопасности в IE.

Предупреждение: Этот ответ содержит предложения, которые могут снизить параметры безопасности вашей системы.Рекомендуется, чтобы вы полностью понимали риски, связанные с этим, прежде чем продолжить, и проявлять активность при использовании альтернативных мер защиты. (Или просто прекратите автоматизацию в IE ☺)

  • Перейдите к IE > Internet Options > Security Tab
  • (Необязательно) ДобавьтеЕсли вы доверяете сайту (что облегчит вам выполнение следующего шага), перейдите на веб-сайт в зону «Надежные сайты»
  • В какой бы зоне вы не решили использовать сайт («Интернет» или«Надежные сайты»), снимите флажок: Включить защищенный режим (требуется перезагрузка) . Предупреждение : Очевидно, это приведет к снижению безопасности IE.
    • Нажмите Apply, затем OK
  • Закройте из ALL IE BROWSERS , чтобы убедиться, что изменение вступает в силу
    • Двойная проверка ЗадачаМенеджер ( Ctrl - Shift - Esc ), чтобы убедиться, что на вкладке Processes нет скрытых процессов iexplore.exe.
  • Проверка конечного результата
    • Если все еще не работает, убедитесь, что вы отмените любые настройки.

Сценарии могут быть опаснымидля любой системы, поэтому защищенный режим может серьезно ограничить возможности автоматизации.Я считаю, что IE не включал защищенный режим в IE по умолчанию до Windows 8 (.1)?, Но у меня нет источника для моих подозрений;в этом случае именно поэтому он работает в Windows 7, а не в Windows 10.

Вы все еще можете делать простые вещи с включенным защищенным режимом, но он сильно ограничен.Например, вы все еще можете переходить на веб-страницы, но многие другие свойства и методы IE отключены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...