Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - "#" в ссылке в vbs

Ответить
Настройки темы
VBS/WSH/JS - "#" в ссылке в vbs

Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Как сделать, чтобы в vbs работал?
Из-за того, что в ссылке "#" - ссылка не читается.


Код: Выделить весь код
Option Explicit

Const navOpenInNewTab         = &H00800
Const navOpenInBackgroundTab  = &H01000
Const navOpenNewForegroundTab = &H10000
With WScript.CreateObject("InternetExplorer.Application")
 .Navigate "https://111/#/111"
 .Navigate2 "https://111/#/111", navOpenInNewTab
 .Visible = True
End With
 
WScript.Quit 0

Отправлено: 14:36, 15-05-2018

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Sisin, а разве может быть в пути ссылки #? Он же якорь обозначает.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:44, 15-05-2018 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Iska:
Sisin, а разве может быть в пути ссылки #? Он же якорь обозначает. »
Видимо якорь подняли)))
У Икеи весь каталог с "#". Например:
https://www.ikea.com/ru/ru/catalog/p...95/#/S69281696

Отправлено: 10:30, 16-05-2018 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Sisin, спасибо за ссылку, получается, что могут.

Хмм… Вот это:
Код: Выделить весь код
Option Explicit

Const READYSTATE_COMPLETE = 4


With WScript.CreateObject("InternetExplorer.Application")
	'.Visible = False
	.Visible = True
	.Navigate "https://www.ikea.com/ru/ru/catalog/products/S69251595/#/S69281696"
	
	Do 
		WScript.Sleep 100
	Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
End With

WScript.Quit 0
у меня под IE9 отрабатывает вполне корректно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:41, 16-05-2018 | #4


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Iska:
у меня под IE9 отрабатывает вполне корректно. »
У меня тоже, спасибо.

Только добавил, чтобы можно было несколько вкладок открывать:

Код: Выделить весь код
Option Explicit

Const navOpenInNewTab         = &H00800
Const navOpenInBackgroundTab  = &H01000
Const navOpenNewForegroundTab = &H10000
Const READYSTATE_COMPLETE = 4

With WScript.CreateObject("InternetExplorer.Application")
 '.Visible = False
 .Visible = True
 .Navigate "https://www.ikea.com/ru/ru/catalog/products/S69251595/#/S69281696"
 .Navigate2 "https://www.ikea.com/ru/ru/catalog/products/S69251595/#/S69281696", navOpenInNewTab	
Do 
 WScript.Sleep 100
 Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
End With

WScript.Quit 0

Отправлено: 12:24, 16-05-2018 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Sisin, для информации: а до того под каким IE Вы пробовали?

Отправлено: 12:28, 16-05-2018 | #6


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Iska:
Sisin, для информации: а до того под каким IE Вы пробовали? »
И тогда и сейчас IE11.

Отправлено: 12:49, 16-05-2018 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Sisin, а почему ж тогда у Вас с первым кодом не сложилось:
Цитата Sisin:
Из-за того, что в ссылке "#" - ссылка не читается. »
? По факту ведь отличий от второго — нет ничего.

Отправлено: 12:52, 16-05-2018 | #8


Аватара для Sisin

Старожил


Сообщения: 345
Благодарности: 9

Профиль | Отправить PM | Цитировать


Цитата Iska:
? По факту ведь отличий от второго — нет ничего. »
Все дело в строчках Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE.
Const READYSTATE_COMPLETE = 4
Do
WScript.Sleep 100
Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE

Без них не работает.

Последний раз редактировалось Sisin, 16-05-2018 в 13:08.


Отправлено: 13:01, 16-05-2018 | #9


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Да ладно… У меня и без них работает. Браузер-то никуда не девается, в худшем случае потребуется немного подождать, пока не пройдёт загрузка.

Или это у Вас только начало скрипта, а дальше идёт работа с содержимым загруженной страницы? Тогда — да, иначе никак (ну, или тупо пауза/задержка в надежде, что страница успеет загрузится за указанное в паузе время).

В принципе, указанный подход хорошо работает на достаточно простых страницах. Хуже, когда там AJAX'а напихано по самое «мама не балуй». Тогда, бывает так, что и уже .Busy ложно, и .ReadyState равно READYSTATE_COMPLETE, но затем страница асинхронно продолжает подгружаться новыми запросами, и требуется энное число раз делать такие циклы Do…Loop через промежуточные паузы, дабы дождаться окончательной подгрузки страницы. Проще всего, когда на сайте есть какая-нибудь lite или мобильная версия страницы, на которых AJAX не используется — возни меньше, а результат тот же.

Отправлено: 13:20, 16-05-2018 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - "#" в ссылке в vbs

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] curl - Скачать по "непрямой" ссылке Sisin Скриптовые языки администрирования Windows 9 18-08-2023 14:57
VBS/WSH/JS - [решено] vbs скрипт. При нажатии "да" окно должно закрываться, при нажатии "нет" комп должен в mihanklinov@vk Скриптовые языки администрирования Windows 3 10-12-2012 20:18
VBS/WSH/JS - [решено] Есть ли в VBS форма с "Галочками" Ragnazar Скриптовые языки администрирования Windows 1 06-09-2012 20:22
Помогите конвертировать скрипт "задержки" VBS в автоит. Pozia AutoIt 6 18-12-2011 23:47
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход