1

Тема: VBS Страница сайта с выбором элемента

Доброго дня.

Поверхностно начал знакомиться с vbs. Хочу из 1с формировать скрипт сохранять его и запускать. Цель скрипта. Заходить на сайт, выбирать объект и вводить заранее имеющиеся значения. От пользователя только требуется вводить капчу.

Прошу заранее извинить, но попытки изучить быстро поверхностно язык увенчались провалом, прошу вашей квалифицированной помощи.

Сайт на который заходим:   https://check1.fsrar.ru
Объект который выбираем:   Поиск по Идентификатору накладной
Поле которое будем заполнять: идентификатор накладной (WBRegId вида TTN-0000000000)
Поле которое будем заполнять: fsrar ID отправителя

Желательно сайт открывать в браузере по умолчанию

Option Explicit

Dim objWshShell

Set objWshShell = WScript.CreateObject("WScript.Shell")
objWshShell.Run "https://check1.fsrar.ru/", 1, False
Set objWshShell = Nothing

WScript.Quit 0

Спасибо.

2

Re: VBS Страница сайта с выбором элемента

VBS не работает с браўзером по умолчанию, только с IE.

3

Re: VBS Страница сайта с выбором элемента

Угу. Причём мне не нравится это:

KoTzzz пишет:

формировать скрипт сохранять его и запускать.

— зачем? Можно и нужно работать непосредственно из 1С.

4

Re: VBS Страница сайта с выбором элемента

wisgest пишет:

VBS не работает с браўзером по умолчанию, только с IE.

Тогда можно и в IE, не принципиально.

5

Re: VBS Страница сайта с выбором элемента

alexii пишет:

Угу. Причём мне не нравится это:

KoTzzz пишет:

формировать скрипт сохранять его и запускать.

— зачем? Можно и нужно работать непосредственно из 1С.

Мне 1серы не сказали, что есть вариант делать это из программы, почитаю. Спасибо за подсказку.

6

Re: VBS Страница сайта с выбором элемента

KoTzzz пишет:
alexii пишет:

Угу. Причём мне не нравится это:

KoTzzz пишет:

формировать скрипт сохранять его и запускать.

— зачем? Можно и нужно работать непосредственно из 1С.

Мне 1серы не сказали, что есть вариант делать это из программы, почитаю. Спасибо за подсказку.

Если даже страницу я открою, разве есть инструмент позволяющий передать туда в нужное место данные?

7

Re: VBS Страница сайта с выбором элемента

Вижу, что из 1С можно открыть страницу, вижу, что средствами 1с можно создать страницу и открыть в форме 1с, но не вижу, что можно кликнуть по кнопке и передать данные.

8

Re: VBS Страница сайта с выбором элемента

Страница открывается, но пока не тыкается на элемент)



Set ie = CreateObject("InternetExplorer.Application")
Set WshShell = WScript.CreateObject("WScript.Shell")
ie.Visible = True
ie.Navigate "https://check1.fsrar.ru"

While ie.ReadyState <> 4 : WScript.Sleep 100 : Wend

For Each a In ie.document.getElementById("tab-title2")
If InStr(a.href, "viewtopic.php") > 0 Then
      a.click
  Exit For
  End If
  next

9

Re: VBS Страница сайта с выбором элемента

KoTzzz, оформляй код соответствующим тегом!

KoTzzz пишет:
For Each a In ie.document.getElementById("tab-title2")
If InStr(a.href, "viewtopic.php") > 0 Then
      a.click
  Exit For
  End If
  next

document.getElementById() возвращает элемент, а не коллекцию, какое For Each?!

Set a = ie.document.getElementById("tab-title2")
If InStr(a.href, "viewtopic.php") > 0 Then a.click()

10 (изменено: KoTzzz, 2019-08-24 23:39:23)

Re: VBS Страница сайта с выбором элемента

wisgest пишет:

KoTzzz, оформляй код соответствующим тегом!

KoTzzz пишет:
For Each a In ie.document.getElementById("tab-title2")
If InStr(a.href, "viewtopic.php") > 0 Then
      a.click
  Exit For
  End If
  next

document.getElementById() возвращает элемент, а не коллекцию, какое For Each?!

Set a = ie.document.getElementById("tab-title2")
If InStr(a.href, "viewtopic.php") > 0 Then a.click()

Я тупень, извиняюсь.

Ошибка: Требуется объект 'document'
Код 800А01А8

11

Re: VBS Страница сайта с выбором элемента

Вот код на WSH:

Option Explicit

Const READYSTATE_COMPLETE = 4


With WScript.CreateObject("InternetExplorer.Application")
	.Navigate "https://check1.fsrar.ru/"
	
	Do
		WScript.Sleep 100
	Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
	
	With .document
		.getElementById("tab-title2").click()
		.getElementById("code_wb").value = "0123456789"
		.getElementById("owner_r1").value = "9876543210"
		.getElementById("CaptchaCode").focus()
	End With
	
	.Visible = True
End With

WScript.Quit 0

Вы можете напрячь своих программистов 1С, чтобы они тупо перевели это на язык 1С. Кроме того, можно в саму форму 1С вставить элемент управления WebControl в форму 1С и получить готовую страницу прямо на форме 1С.

12

Re: VBS Страница сайта с выбором элемента

alexii, а еще можно создать wsc (Windows Script Component) и вызвать его из кода 1С. Тогда еще проще Ну и вдобавок можно попробовать обойтись без ie заменив ее отправкой http запросов через xmlhttp / winhttp

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

13

Re: VBS Страница сайта с выбором элемента

Xameleon, а капчу кто распознавать будет?

14

Re: VBS Страница сайта с выбором элемента

alexii, а в чём беда ? )
1) Можно распарсив документ через HTMLDocument (htmlfile) найти ссылку на капчу, выкачать её и показать в окне юзеру, теми же средствами 1C.
2) Можно воспользоваться бесплатными сервисами для распознавания капчи типа ссылка.
И тогда от юзера вообще ничего не потребуется.

Наверное как-то так )

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

15

Re: VBS Страница сайта с выбором элемента

alexii пишет:

Вот код на WSH:

Option Explicit

Const READYSTATE_COMPLETE = 4


With WScript.CreateObject("InternetExplorer.Application")
	.Navigate "https://check1.fsrar.ru/"
	
	Do
		WScript.Sleep 100
	Loop Until Not .Busy And .ReadyState = READYSTATE_COMPLETE
	
	With .document
		.getElementById("tab-title2").click()
		.getElementById("code_wb").value = "0123456789"
		.getElementById("owner_r1").value = "9876543210"
		.getElementById("CaptchaCode").focus()
	End With
	
	.Visible = True
End With

WScript.Quit 0

Вы можете напрячь своих программистов 1С, чтобы они тупо перевели это на язык 1С. Кроме того, можно в саму форму 1С вставить элемент управления WebControl в форму 1С и получить готовую страницу прямо на форме 1С.

Спасибо большое.

16

Re: VBS Страница сайта с выбором элемента

Xameleon пишет:

alexii, а в чём беда ? )
1) Можно распарсив документ через HTMLDocument (htmlfile) найти ссылку на капчу, выкачать её и показать в окне юзеру, теми же средствами 1C.
2) Можно воспользоваться бесплатными сервисами для распознавания капчи типа ссылка.
И тогда от юзера вообще ничего не потребуется.

Наверное как-то так )

Не сталкивался еще с сервисами распознавания капч, спасибо. Попробуем, очень интересно.

17

Re: VBS Страница сайта с выбором элемента

Если сервис не сработает, то можно отправлять на платные сервисы китайцам. Там копейки стоит.

18 (изменено: alexii, 2019-08-26 18:00:00)

Re: VBS Страница сайта с выбором элемента

Xameleon, Malcev, если честно, я слабо верю, что контора, где 1С-ники, пусть опосредованно, решают простую задачу на бесплатном форуме, станет тратить деньги на закупку таких приложений/сервисов (Xameleon, по ссылке — не бесплатно).

19

Re: VBS Страница сайта с выбором элемента

alexii, вынужден согласиться. ) Видимо Вы правы.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

20

Re: VBS Страница сайта с выбором элемента

Когда мне надо было зарегистрировать 50000 имейлов с капчей, я таки потратил 50 евро, хоть и не контора.
К тому же есть сервисы с подпиской и наверняка есть народные версии платных решений.

21

Re: VBS Страница сайта с выбором элемента

Malcev, разве ж я спорю с очевидным? Надо — так надо.

22

Re: VBS Страница сайта с выбором элемента

Malcev, подозрительными вещами занимаетесь, коллега.

+ открыть спойлер

http://memesmix.net/media/created/0d4tda.jpg

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !