Рейтинг:
2
Leo Chapiro
[ОТРЕДАКТИРОВАННЫЙ]
Используйте этот код (VBS/VBA), чтобы открыть URL-адрес в стандартном браузере:
Dim webbrowser2
Set webbrowser2 = CreateObject("Wscript.Shell")
If webbrowser2 Is Nothing Then
MsgBox "Error on creating WebBrowsewr object"
Else
webbrowser2.Run "http:\\www.google.com", 1, False
End If
Посмотри:
Сценарий шоу-браузер по умолчанию (обновление для Win10)[
^]
wscript.echo browser
' Indentify default web browser
' By Jørgen Bigom
' Updated Oct. 2015
Function Browser
Const HKEY_CURRENT_USER = &H80000001
Const strKeyPath = "Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice"
Const strValueName = "Progid"
Dim strValue, objRegistry, i
' Browser list:
Dim blist(6,1)
blist(0,0) = "Intermet Explorer" : blist(0,1) = "ie"
blist(1,0) = "Edge" : blist(1,1) = "appxq0fevzme2pys62n3e0fbqa7peapykr8v"
blist(2,0) = "Firefox" : blist(2,1) = "firefox"
blist(3,0) = "Chrome" : blist(3,1) = "chrome"
blist(4,0) = "Safari" : blist(4,1) = "safari"
blist(5,0) = "Avant" : blist(5,1) = "browserexeurl"
blist(6,0) = "Opera" : blist(6,1) = "opera"
Set objRegistry = GetObject("winmgmts:\\.\root\default:StdRegProv")
objRegistry.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
If IsNull(strValue) Then
browser = "Intermet Explorer (Windows standard)": Exit Function
Else
For i = 0 To Ubound (blist, 1)
If Instr (1, strValue, blist(i,1), vbTextCompare) Then browser = blist(i,0) & " - User choice": Exit Function
Next
End If
browser = "Unknown web browser! (signature: '" & strValue & "')"
End Function
Dave Kreskowiak
Это не имеет ничего общего с вопросом, который был задан.
Leo Chapiro
Это возможность получить стандартный браузер с помощью реестра windows. Почему это не должно иметь отношения к заданному вопросу?
Dave Kreskowiak
Моя вина. Вот что я получаю за то, что пытаюсь читать код, когда половина моего мозга спит.
Alex Steinmetz
_чувак
Не могли бы вы быть более конкретными?
Похоже, вы все упускаете главное.
Я не пытаюсь контролировать все основные браузеры.
то, что я пытаюсь, - это запустить браузер по умолчанию как: "процесс.Начало(url)"
и получите HtmlDocuments и активные элементы
так что я могу опубликовать свое имя пользователя и пароль.
Leo Chapiro
@Alex: Вы пробовали позвонить WShell?Выполнить(url, 1, false) ?
Alex Steinmetz
Пожалуйста, объявите "WShell" и любезно сообщите более подробную информацию.
Alex Steinmetz
Нет, я не знаком с VB-скриптом.
До сих пор не удается получить активные элементы.
Код
Dim webbrowser2 As Object = CreateObject("Wscript.Shell").Run(MemSite(CurrCell), 1, False)
Dim HtmlDoc, HtmlElem Как Объект
Свойстве htmldoc = webbrowser2.Документ
HtmlElem = HtmlDoc.all.item(0)
Если HtmlElem.tagname = "HTML", то
------
Конец, если
Leo Chapiro
Вам нужно использовать "Set" для создания объектов в VBS/VBA.
Попробуйте это (VBS):
Тусклый webbrowser2
Set webbrowser2 = CreateObject("Wscript.Ракушка")
Если webbrowser2 - это ничто, то
MsgBox "ошибка при создании объекта WebBrowsewr"
Еще
webbrowser2.Run "http:\\www.google.com", 1, ложь
Конец, Если
Dave Kreskowiak
Проблема с этим подходом заключается в том, что вы получаете объект процесса обратно. Вы не получаете доступа к браузеру DOM, чтобы иметь возможность заполнять поля из кода.
Alex Steinmetz
Набор и давайте больше не поддерживается.
как вы получаете "активные элементы" отображаемой html-страницы ???
Leo Chapiro
Алекс, доставь мне удовольствие, пожалуйста: сохрани код, который я тебе дал, как test.vbs и дай ему запуститься ("cscript.exe test.vbs" на консоли). Вы увидите, что браузер по умолчанию открывает сайт google - это все, что я могу сделать для вас сейчас. У меня больше нет времени, чувак, извини!
Alex Steinmetz
Спасибо, что попытались помочь
Желаю вам хорошо провести выходные.
Рейтинг:
1
Dave Kreskowiak
Вы не. AFAIK, IE-это единственный браузер, доступный через COM-интерфейс.
Далее, рассматривая возвращаемый объект класса из CreateObject "как объект", вы получите доступ только к методам и свойствам, которые предоставляет объект, а не к свойствам и методам возвращаемого объекта класса, который вы создали.
Если вы хотите управлять всеми основными браузерами, загляните в раздел Селен[^].
Alex Steinmetz
Спасибо Дэйву за твой ИММ. ответ.
вы избавили меня от многих испытаний.
Selenium не поддерживает VB.
Dave Kreskowiak
Почему вы говорите, что он не поддерживается?
Он работает в VB.NET.