Labview+Google Chrome

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума

Labview+Google Chrome

Postby rushonda on 14 Oct 2017, 22:18

Добрый вечер, форумчане.
Подскажите, можно ли как-то с помощью labview сделать так, чтобы можно было заходить на сайт - и нажимать далее на сайте по кнопкам или ссылкам.
Все что нарыл: через webbrowser (net structure) можно заходить на сайт ну и использовать функции: назад, вперед, домой.
А что то более подробное хотелось бы найти, как использовать код страницы для перехода по ссылкам на сайте.

p.s. мне кажется не совсем конечно сфера labview но все-таки)
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby dadreamer on 14 Oct 2017, 23:38

 
Attachments
2017-10-15_1-37-53.jpg
User avatar
dadreamer
professor
professor
 
Posts: 3043
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Labview+Google Chrome

Postby rushonda on 15 Oct 2017, 16:29

спасибо - эти функции обычно используются для того чтобы реализовать сервер-клиент для управления например с телефона - я пока только такие примеры видел.
Или я что-то путаю?
если у кого есть ссылки или примеры - скиньте пожалуйста.
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby dadreamer on 15 Oct 2017, 17:11

rushonda wrote:эти функции обычно используются для того чтобы реализовать сервер-клиент для управления например с телефона - я пока только такие примеры видел.
Или я что-то путаю?

Нет, эти :vi: можно использовать для "общения" с любыми сайтами по протоколу HTTP(S), но для этого требуются базовые знания работы протокола, в частности виды основных запросов и принципы их работы. Если понимаете, чем отличается GET от POST, и имеете в арсенале веб-сниффер (Fiddler или Charles), то можете начинать программировать. Учтите, что веб-контент сайтов представлен в "сыром" виде и придётся его парсить.
rushonda wrote:если у кого есть ссылки или примеры - скиньте пожалуйста.

Вот примет авторизации на Мэйл.Ру: viewtopic.php?p=65162#p65162 Не факт, что всё ещё работает, но концепция построения должна быть понятна.
User avatar
dadreamer
professor
professor
 
Posts: 3043
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Labview+Google Chrome

Postby rushonda on 16 Oct 2017, 23:58

Спасибо, то что надо, буду разбираться
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby rushonda on 22 Nov 2017, 21:38

Подскажите как все-таки нажать ссылку на сайте с помощью labview ?
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby dadreamer on 23 Nov 2017, 07:44

rushonda wrote:Подскажите как все-таки нажать ссылку на сайте с помощью labview ?

Без использования HTTP-запросов - боюсь, что никак. Можете, конечно, изобрести или где-то найти кликер, который будет мышку наводить по указанным координатам. Но это решение весьма ненадёжное - изменится вёрстка сайта и клик будет не в том месте.

Что конкретно не получается с HTTP инструментами? Пример сайта и кнопка, на которую нажать надо.
User avatar
dadreamer
professor
professor
 
Posts: 3043
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Labview+Google Chrome

Postby rushonda on 23 Nov 2017, 08:58

Сайт абсолютно любой, хоть google chrome, кнопка НАЙТИ допустим. Пример где-то можно найти хоть через http, нажатия на кнопку и открытие какого-нибудь браузера
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby alerm on 23 Nov 2017, 11:51

rushonda wrote:Сайт абсолютно любой, хоть google chrome

:shok: :suicide:
User avatar
alerm
leader
leader
 
Posts: 562
Joined: 02 May 2012, 21:28
Medals: 1
Activity (1)
LabVIEW Version: 13
Karma: 153
VIP teachers freelance

Re: Labview+Google Chrome

Postby rushonda on 23 Nov 2017, 12:14

Google)
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby dadreamer on 23 Nov 2017, 12:29

rushonda wrote:Сайт абсолютно любой, хоть google chrome, кнопка НАЙТИ допустим. Пример где-то можно найти хоть через http, нажатия на кнопку и открытие какого-нибудь браузера

Переход к результатам поиска в гугле выполняется через обычный GET-запрос:
google_get.png
google_get.vi
lv2014
(8.89 KiB) Downloaded 51 times

Хотя у гугла есть более удобное API для взаимодействия, так что можно в данном случае не изобретать велосипед.

Прочие сайты часто на кнопку "вешают" POST-запрос. Вот пример отправки запроса, аналогичного нажатию кнопки "Вход" при авторизации юзера на :labview: Портале:
lvp_post.png
lvp_post.vi
lv2014
(10.83 KiB) Downloaded 61 times

При вводе неверных данных на сайте появляется следующее сообщение:
lvp_wrong_site.jpg

Соответственно, в ответе от сервера (параметр Body) будет вот так:
lvp_wrong_lv.jpg

При правильных данных сайт нас перекидывает на главную и можно видеть число ЛС, кнопку выхода и другие вещи.
lvp_right_site.jpg
lvp_right_site.jpg (32.43 KiB) Viewed 3466 times

В ответе от сервера это выглядит как-то так:
lvp_right_lv.jpg

Надеюсь, объяснил теперь более понятно. Т.о., к каждой кнопке нужен индивидуальный подход. :wink: А ещё лучше было бы, если бы ваш сайт предоставлял свой API, скажем на SOAP-протоколе. Тогда бы и парсинг был проще в разы, и запросы-ответы-параметры были бы описаны.
rushonda wrote:Пример ... открытие какого-нибудь браузера

В данном случае браузер открывать не нужно. HTTP Client и есть браузер. Можете, конечно, поискать какие-то сторонние движки, поддерживающие отображение тэгов. Но я сомневаюсь, что найдёте что-то нормальное.
User avatar
dadreamer
professor
professor
 
Posts: 3043
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Labview+Google Chrome

Postby rushonda on 23 Nov 2017, 18:56

Спасибо за помощь!
Пока понимания мало: пробую тоже самое с сайтом https://lumen.ni.com.

1) Какие параметры на фото забиты не так?

2) Через webbrowser никак на кнопку не нажать?
Attachments
test.jpg
block
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby dadreamer on 23 Nov 2017, 20:55

rushonda wrote:Спасибо за помощь!
Пока понимания мало: пробую тоже самое с сайтом https://lumen.ni.com.

Что-то сложного подопытного вы выбрали... Там скриптов куча и хэши на каждом шагу генерятся. А какова суть сей затеи? Хотите написать какого-то робота для сайта? И всё-таки, ni.com - конечная цель или это что-то другое? Если второе, то советую не заморачиваться, а сразу перейти к цели. Если же первое, то могу дать пару советов, но не более (ибо до конца дойти у меня не вышло - учётку заблочили из-за множества неверных попыток авторизации).
1. Сайт ставит несколько критичных cookies, потому сперва нужно GET'ом зайти на
Code: Select all
https://lumen.ni.com/nicif/us/header_login/content.xhtml?action=login&du=http%3A%2F%2Fwww.ni.com%2Fru-ru.html

2. Из хэдеров надо выдернуть параметр JSESSIONID (может, нужно, а может и нет)
3. Из тела ответа надо выдернуть параметр javax.faces.ViewState
4. Далее POST на
Code: Select all
https://lumen.ni.com/nicif/login.xhtml;jsessionid=[здесь JSESSIONID из п.2]

Запрос будет содержать следующие параметры:
Code: Select all
LoginForm:processLoginFlag=&LoginForm:email=[Здесь логин]&LoginForm:password=[Здесь пароль]&recovery_appcode=HEADER_LOGIN&recovery_instance=US&recovery_scheduleCode=&recovery_du=http://www.ni.com/ru-ru.html&LoginForm_SUBMIT=1&javax.faces.ViewState=[Здесь javax.faces.ViewState из п.3]&LoginForm:_idcl=LoginForm:continue

Но даже после этого табличка о неудаче появляется не всегда, что говорит о том, что где-то что-то не совсем окей. Разбираться детально уже неохота.
rushonda wrote:2) Через webbrowser никак на кнопку не нажать?

Кнопка не является частью контрола. Она часть WEB-страницы. Нажать её можно только с помощью мыши. Как я уже говорил, можно попробовать отыскать кнопку программно, а затем, имея координаты, переместить курсор в нужную позицию и сделать клик. В принципе, если есть уверенность в том, что дизайн сайта не поменяется кардинально, то можно попробовать реализовать данный подход. Вам потребуется снять скрин контрола, найти на рисунке кнопку, ну и далее - по алгоритму.
User avatar
dadreamer
professor
professor
 
Posts: 3043
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Re: Labview+Google Chrome

Postby rushonda on 23 Nov 2017, 21:17

Да, все верно, робот для сайта. А нельзя ли код того что Вы написали?
Как лучше это сделать, просьба дать те самые советы)?
rushonda
assistant
assistant
 
Posts: 115
Joined: 26 Feb 2016, 06:31
LabVIEW Version: 14
Karma: 6

Re: Labview+Google Chrome

Postby dadreamer on 23 Nov 2017, 21:22

rushonda wrote:Да, все верно, робот для сайта. А нельзя ли код того что Вы написали?
Как лучше это сделать, просьба дать те самые советы)?

Я с досады закрыл ВИайку без сохранения... :D Если будет время, завтра могу снова попробовать. Но что-то сайт у них чересчур хитромудрый. Там кстати ещё отдельно надо авторизовываться, чтобы в форумах писать.

Наверно, вариант с кликером даже проще будет. Особенно, если Vision стоит.
User avatar
dadreamer
professor
professor
 
Posts: 3043
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2018
Karma: 750
I/O VIP vision internet

Next

Return to Общие

Who is online

Users browsing this forum: No registered users and 2 guests

cron