Выполнение действия webbrowsertab ошибка обращения к instance activetab

Ошибки в логе | TermiDroid

Войти или зарегистрироваться

Ошибки в логе

Тема в разделе «Разбор ошибок», создана пользователем SlimperMan, 9 июн 2018.

  1. SlimperMan
    New Member

    Прошу объяснить причину появляющихся ошибок и действия, которые необходимо предпринять при их появлении:

    1. Выполнение действия WebBrowserTabManagement Ошибка обращения к Instance.GetTabByAddress
    2. Выполнение действия WebBrowserSettings Ошибка обращения к Instance.SetProxy
    3. Выполнение действия WebBrowserTab Ошибка обращения к Instance.ActiveTab
    4. Выполнение действия Emulation Ошибка обращения к Instance.SendText

Ответить в теме

Показать игнорируемое содержимое

Поделиться этой страницей

Ваше имя или e-mail:
У Вас уже есть учётная запись?
  • Нет, зарегистрироваться сейчас.
  • Да, мой пароль:
  • Забыли пароль?

Запомнить меня

Поиск

  • Искать только в заголовках
Сообщения пользователя:

Имена участников (разделяйте запятой).

Новее чем:
  • Искать только в этой теме
  • Искать только в этом разделе
    • Отображать результаты в виде тем

Быстрый поиск

  • Последние сообщения

Больше…

This topic has been deleted. Only users with topic management privileges can see it.

  • Здраствуйте, реально ли совершать клик по объекту зная его class и его порядковый номер (если не один)


  • попробуй как здесь http://wiki.bablosoft.com/doku.php?id=ru:tutorial2
    только вместо парсить,
    узнай css, удали лишнее, и кликай


  • @No именно так все и устроенно! Порядок такой — нажимаем на нужный объект левой кнопкой мыши — выбираем — двигать мышь и кликнуть на элемент — и выбираешь match (существует три вида клика — по css — по тексту match — b по координатам
    0_1475749790624_2016-10-06_212813.png


  • @Turutur Ну match я видел. Только вот не будет работать если кнопок три и мне нужно кликнуть на вторую, а скрипт кликнет только на первую.
    Получается нужен более продвинутый конструктор?
    Например на с# этот клик я могу сделать этим кодом
    HtmlElement he = instance.ActiveTab.GetDocumentByAddress(«0»).FindElementByTag(«form», 1).FindChildByAttribute(«span», «class», «b-combo__arrow», «text», 0);
    if (he.IsVoid) return -1;
    Можно ли этот код внедрить в BAS ?


  • Ну мой главный вопрос: Реально ли подобный код перенести в BAS ?
    HtmlElement he = instance.ActiveTab.GetDocumentByAddress(«0»).FindElementByTag(«form», 1).FindChildByAttribute(«span», «innertext», «Переводы», «regexp», 0);
    if (he.IsVoid) return -1;
    Если нельзя. Можно ли как сделать чтобы объект для клика искался по «innertext» или «innerhtml» ?


  • @No человек — да ты продвинутый юзер — не пугай меня кодом — не мой уровень — где то видел выполнить код — Жди поддержку @support — или может еще кто шарит. Извиняй — не смог помочь. Если тема не палевая — запости пожалйста скрин и пример — может пригодится — я не встречал проблем с кликом по элементам….


  • Ну я знаю лишь азы С#, и код этот я беру с другого софта на подобии BAS.
    Вот я и привык там кликать только по элементам (там по CSS кликать вроде бы и нельзя)и мне кажется что так удобней работать.
    Например софт который кликает по значению «innertext» ,по идеи, должен быть рабочим дольше чем клики по css


  • @No это дело — привычки — я сам слез с «зенки» — BAS больше нравиться — хотя еще в стадии разработки и да некоторые элементы реализованы » не так» — после использования «другого софта» — просто нужно смириться и понять здешний алгоримт)


  • @No

    Здраствуйте, реально ли совершать клик по объекту зная его class и его порядковый номер (если не один)

    Здравствуйте, да реально, для этого после селектора нужно поставить номер в треугольных скобках. Допускается использование переменных.

    Например, 3 ссылка a<2>
    или сслыка в цикле a<[[CYCLE_INDEX]]>


  • @No

    HtmlElement he = instance.ActiveTab.GetDocumentByAddress(«0»).FindElementByTag(«form», 1).FindChildByAttribute(«span», «class», «b-combo__arrow», «text», 0);

    В БАС это будет так

    page().all("form").at(0).css("span.b-combo__arrow").text()!
    [[RESULT_TEXT]] = _result()
    

    Нужно вставлять в действие выполнить код


  • @No

    По innerHTML можно кликать так, как показал @Turutur http://community.bablosoft.com/post/2265


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


  • «По innerHTML можно кликать так, как показал @Turutur http://community.bablosoft.com/post/2265»

    @support можете, пожалуйста, привести?


  • @No Ну берете весь код элемента или кусок кода, вставляете в поле, выбираете match вместо css, как показано на картинке. И происходит поиск по innerHTML


  • @support said in Как кликать по HTML а не CSS:

    вроде конструктора для логических выражений, которые есть сейчас

    @support — пожалуйста сделайте возможность в конструкторе регулярок — сразу переходить на страницу теста.

    зачем: допустим — делал регулярку общую к каким то данным с разных страниц — то есть универсальную — например регулярка которая вытаскивает прокси и порты, ссылки и так далее — она сохранена в файл — и чтобы не тратить время на создание регулярки через констрктор при тесте — сразу проверить работает ли сохраненная регулярка или полученная с другого источника


  • @Turutur Таких сервисов полно. Например, https://regex101.com/


  • @support например у меня есть такой код
    <span class=»b-combo__item-inner» dbid=»46″ dbprid=»3″ style=»cursor:pointer»>Автомобили</span>

    Можно ли кликнуть используя только эту часть, ибо всё остальное не постоянное. (Не получается так)
    style=»cursor:pointer»>Автомобили</span>


  • @No Можно сайт, я бы попробовал.


  • @support Я думаю только вы сможете разобраться в этой ситуации)
    Есть страница https://www.fl.ru/projects/ Тут нужно выбрать с выпадающего списка 2 категории, не важно какие, ну пускай это будет «Тексты: Статьи»
    Можно конечно по простому сделать
    alt text
    Но тогда нельзя будет просто перестроить скрипт например на» Разработка игр: 3D Моделирование» А вот если бы клики происходили по innerHTML, то тогда было бы лишь достаточно изменить данные в переменной и скрипт бы кликал по нужным категориям.
    Как подсказал @Canine , можно сделать клик указав просто текст без кода.
    alt text
    Но тогда вторую подкатегорию выбрать не получиться.
    Что можете посоветовать?


  • @No А если просто через ввод написать то что нужно оно вроде выбирает 0_1475782499389_постинг.png
    0_1475782625517_тест ввод.xml


  • Саня

    Сообщения: 1
    Зарегистрирован: 01 апр 2020, 07:08

    Не получается запустить C#

    работаю с Демо не получается запустить C# в таком виде
    var elementTools = instance.ActiveTab.FindElementByAttribute(«strong», «innertext», «Мой профиль», «regexp», 0);
    if (!elementTools.IsVoid)
    {
    instance.WaitFieldEmulationDelay();
    elementTools.RiseEvent(«click», instance.EmulationLevel);
    instance.ActiveTab.WaitDownloading();
    return «»;
    }
    Это кот я взял из другой программы Там он работает а здесь у меня не получается что я делаю не так


    Аватара пользователя

    Support

    Site Admin
    Сообщения: 996
    Зарегистрирован: 10 апр 2009, 17:45
    Контактная информация:

    Re: Не получается запустить C#

    Сообщение

    Support » 01 апр 2020, 13:47

    Нет необходимых библиотек для работы этого кода.

    Подключите XHE.dll к проекту через Visual Studio и пишите скрипт там, если эта программа предоставляет такие библиотеки.

    А вообще этот код легко переписывается через наш фреймворк.


    Oleg1987

    Сообщения: 4
    Зарегистрирован: 21 фев 2020, 18:15

    Re: Не получается запустить C#

    Сообщение

    Oleg1987 » 07 апр 2020, 23:37

    Так это api зеннопостера. С чего оно должно работать в human?


    0 / 0 / 0

    Регистрация: 28.09.2016

    Сообщений: 2

    1

    Нажатие на кнопки и сбор данных

    17.10.2017, 04:02. Показов 923. Ответов 0


    Доброго времени суток. Пытаюсь сделать сбор данных. При нажатии на кнопку выходит окно со статистикой, откуда надо парсить. Я сделал нажатие на первую кнопку сайта, а их там много и постоянно меняются. Переход нужно осуществлять по всем кнопкам (думаю нужно собрать их число) каждые 15 минут по циклу.
    Думаю это можно сделать используя Списки, но не знаю как объединить конструкции Xpath и List.
    Заранее спасибо.

    Нажатие кнопки

    C#
    1
    2
    3
    4
    5
    6
    7
    
    public void Click()
            {
                var div = instance.ActiveTab.FindElementByXPath("//div[@class='ipo-CompetitionRenderer ']", 0);
                string innerHtml = div.InnerHtml;
                var button = div.FindChildByXPath(".//div[@class='wl-MediaButtonLoader wl-MediaButtonLoader_ML1 ']", 0);
                button.Click();
            }
    C#
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    public  string Statistika()
            {
                string statall = String.Empty;
                Tab tab = instance.ActiveTab;
                HtmlElementCollection itemsCollection = tab.FindElementsByXPath("//div[@class='lv-MatchLiveView_Container ']");
                var list = new List<HtmlElementCollection>();
           
                list.Add(itemsCollection);
                foreach (HtmlElement stat in itemsCollection)
                {
                    var home = stat.FindChildByXPath(".//div[@class='ml1-ScoreHeader_TeamText ']", 0);
                    HtmlElement home2 = stat.FindChildByXPath(".//div[@class='ml1-ScoreHeader_TeamText ']", 1);
                    HtmlElement score = stat.FindChildByXPath(".//div[@class='ml1-ScoreHeader_Score ']", 0);
                    HtmlElement score2 = stat.FindChildByXPath(".//div[@class='ml1-ScoreHeader_Score ']", 1);
                    HtmlElement time = stat.FindChildByXPath(".//span[@class='ml1-ScoreHeader_Clock ']", 0);
                    HtmlElement att = stat.FindChildByXPath(".//div[@class='ml1-StatWheel_Team1Text ']", 0);
                    HtmlElement dang = stat.FindChildByXPath(".//div[@class='ml1-StatWheel_Team1Text ']", 1);
                    HtmlElement pass = stat.FindChildByXPath(".//div[@class='ml1-StatWheel_Team1Text ']", 2);
                    HtmlElement off = stat.FindChildByXPath(".//span[@class='ml1-SoccerStatsBar_MiniBarValue ml1-SoccerStatsBar_MiniBarValue-1 ']", 1);
                    HtmlElement on = stat.FindChildByXPath(".//span[@class='ml1-SoccerStatsBar_MiniBarValue ml1-SoccerStatsBar_MiniBarValue-1 ']", 0);
                    HtmlElement att2 = stat.FindChildByXPath(".//div[@class='ml1-StatWheel_Team2Text ']", 0);
                    HtmlElement dang2 = stat.FindChildByXPath(".//div[@class='ml1-StatWheel_Team2Text ']", 1);
                    HtmlElement pass2 = stat.FindChildByXPath(".//div[@class='ml1-StatWheel_Team2Text ']", 2);
                    HtmlElement off2 = stat.FindChildByXPath(".//span[@class='ml1-SoccerStatsBar_MiniBarValue ml1-SoccerStatsBar_MiniBarValue-2 ']", 1);
                    HtmlElement on2 = stat.FindChildByXPath(".//span[@class='ml1-SoccerStatsBar_MiniBarValue ml1-SoccerStatsBar_MiniBarValue-2 ']", 0);
     
                    statall = string.Format($" {home.InnerText}.{home2.InnerText}.{score.InnerText}-{score2.InnerText}.{time.InnerText}. Атаки {att.InnerText}-{att2.InnerText}; Опасные {dang.InnerText}-{dang2.InnerText}; Владение {pass.InnerText}-{pass2.InnerText}; По {on.InnerText}-{on2.InnerText}; Мимо {off.InnerText}-{off2.InnerText}");
                   //Console.WriteLine(statall);
                   //Console.ReadLine();
                  }
     
                return statall;
     
            }

    Добавлено через 6 часов 40 минут
    Вопрос решен

    __________________
    Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

    0

    vladdog


    • #1

    Выдает вот такую ошибку как на скрине1

    Безымянный.png

    • 1.png

      22,7 КБ
      Просмотры: 15

    • 2.png

      21 КБ
      Просмотры: 12

    • 3.png

      21,9 КБ
      Просмотры: 10

    • 4.png

      23,2 КБ
      Просмотры: 10

    • 5.png

      9,2 КБ
      Просмотры: 10

    irina2009samara


    • #2

    У меня такое выдает, когда сильно загружен ноутбук

    игорь


    • #3

    походу с скоростью интернета что- то, не смог открыть окно, или глюк, или комп сильно загружен оперативка на пределе и не открыло окно инстанса

    vladdog


    • #4

    походу с скоростью интернета что- то, не смог открыть окно, или глюк, или комп сильно загружен оперативка на пределе и не открыло окно инстанса

    не это исключено, оперативы 6г, инет тоже норм

    vladdog


    • #5

    не это исключено, оперативы 6г, инет тоже норм

    в один поток работает

    игорь


    • #6

    не это исключено, оперативы 6г, инет тоже норм

    написано же глюк, там описаны все возможные причины при появлении этой ошибки

    игорь


    • #7

    да хоть в 10 глюк зенобокса бывает и не то еще возможно

    vladdog


    • #8

    уж слишком часто он бывает

    irina2009samara


    • #9

    не это исключено, оперативы 6г, инет тоже норм

    у меня тоже оперативка на 6гб, проводной скоростной инет, и тем не менее часто была эта ошибка, когда пользовалась последней версией зеннобокса. Переустановила на v5.7.5.3 — теперь все ок.

    vladdog


    • #10

    у меня тоже оперативка на 6гб, проводной скоростной инет, и тем не менее часто была эта ошибка, когда пользовалась последней версией зеннобокса. Переустановила на v5.7.5.3 — теперь все ок.

    сейчас попробую

    Jax-on


    • #11

    Тоже часто и густо такая ошибка была, работала стабильней всех 5.7.1.0. После нее каждое обновление было с такой ошибкой, приходилось откатываться на 5.7.1.0. Ошибка эта была на 3г модеме когда работал. Сейчас не пойму почему, но ошибки эти бывают крайне редко, версия 5.8.7.0. На ПК вчера проскочила разок, пока полет нормальный. Полтергейст может? (what)

    I’m using activeTab and tabs permissions in my manifest.json file, and I’m attempting to run the following code in my background.js file:

    background.js

    chrome.tabs.onUpdated.addListener(() => {
        chrome.tabs.query({active: true, currentWindow: true}, tabs => {
            chrome.tabs.executeScript(tabs[0].id, {code: 'alert("test");'});
        });
    });
    

    This code should execute the script, alert("test");, on the active tab whenever any tab is updated.

    However, it isn’t working and I’m getting the following error:

    Unchecked runtime.lastError: Cannot access contents of url "https://example.com/". Extension manifest must request permission to access this host.
    

    I did some research on the Google Web Extension documentation and discovered a few things. The «activeTab» permission allows the execution of scripts on the active tab. According to the documentation, my code should work, but it isn’t.

    Why I’m getting this error?

    Саня

    Сообщения: 1
    Зарегистрирован: 01 апр 2020, 07:08

    Не получается запустить C#

    работаю с Демо не получается запустить C# в таком виде
    var elementTools = instance.ActiveTab.FindElementByAttribute(«strong», «innertext», «Мой\ профиль», «regexp», 0);
    if (!elementTools.IsVoid)
    {
    instance.WaitFieldEmulationDelay();
    elementTools.RiseEvent(«click», instance.EmulationLevel);
    instance.ActiveTab.WaitDownloading();
    return «»;
    }
    Это кот я взял из другой программы Там он работает а здесь у меня не получается что я делаю не так


    Аватара пользователя

    Support

    Site Admin
    Сообщения: 996
    Зарегистрирован: 10 апр 2009, 17:45
    Контактная информация:

    Re: Не получается запустить C#

    Сообщение

    Support » 01 апр 2020, 13:47

    Нет необходимых библиотек для работы этого кода.

    Подключите XHE.dll к проекту через Visual Studio и пишите скрипт там, если эта программа предоставляет такие библиотеки.

    А вообще этот код легко переписывается через наш фреймворк.


    Oleg1987

    Сообщения: 4
    Зарегистрирован: 21 фев 2020, 18:15

    Re: Не получается запустить C#

    Сообщение

    Oleg1987 » 07 апр 2020, 23:37

    Так это api зеннопостера. С чего оно должно работать в human?


    This topic has been deleted. Only users with topic management privileges can see it.

  • Здраствуйте, реально ли совершать клик по объекту зная его class и его порядковый номер (если не один)


  • попробуй как здесь http://wiki.bablosoft.com/doku.php?id=ru:tutorial2
    только вместо парсить,
    узнай css, удали лишнее, и кликай


  • @No именно так все и устроенно! Порядок такой — нажимаем на нужный объект левой кнопкой мыши — выбираем — двигать мышь и кликнуть на элемент — и выбираешь match (существует три вида клика — по css — по тексту match — b по координатам
    0_1475749790624_2016-10-06_212813.png


  • @Turutur Ну match я видел. Только вот не будет работать если кнопок три и мне нужно кликнуть на вторую, а скрипт кликнет только на первую.
    Получается нужен более продвинутый конструктор?
    Например на с# этот клик я могу сделать этим кодом
    HtmlElement he = instance.ActiveTab.GetDocumentByAddress(«0»).FindElementByTag(«form», 1).FindChildByAttribute(«span», «class», «b-combo__arrow», «text», 0);
    if (he.IsVoid) return -1;
    Можно ли этот код внедрить в BAS ?


  • Ну мой главный вопрос: Реально ли подобный код перенести в BAS ?
    HtmlElement he = instance.ActiveTab.GetDocumentByAddress(«0»).FindElementByTag(«form», 1).FindChildByAttribute(«span», «innertext», «Переводы», «regexp», 0);
    if (he.IsVoid) return -1;
    Если нельзя. Можно ли как сделать чтобы объект для клика искался по «innertext» или «innerhtml» ?


  • @No человек — да ты продвинутый юзер — не пугай меня кодом — не мой уровень — где то видел выполнить код — Жди поддержку @support — или может еще кто шарит. Извиняй — не смог помочь. Если тема не палевая — запости пожалйста скрин и пример — может пригодится — я не встречал проблем с кликом по элементам….


  • Ну я знаю лишь азы С#, и код этот я беру с другого софта на подобии BAS.
    Вот я и привык там кликать только по элементам (там по CSS кликать вроде бы и нельзя)и мне кажется что так удобней работать.
    Например софт который кликает по значению «innertext» ,по идеи, должен быть рабочим дольше чем клики по css


  • @No это дело — привычки — я сам слез с «зенки» — BAS больше нравиться — хотя еще в стадии разработки и да некоторые элементы реализованы » не так» — после использования «другого софта» — просто нужно смириться и понять здешний алгоримт)


  • @No

    Здраствуйте, реально ли совершать клик по объекту зная его class и его порядковый номер (если не один)

    Здравствуйте, да реально, для этого после селектора нужно поставить номер в треугольных скобках. Допускается использование переменных.

    Например, 3 ссылка a<2>
    или сслыка в цикле a<[[CYCLE_INDEX]]>


  • @No

    HtmlElement he = instance.ActiveTab.GetDocumentByAddress(«0»).FindElementByTag(«form», 1).FindChildByAttribute(«span», «class», «b-combo__arrow», «text», 0);

    В БАС это будет так

    page().all("form").at(0).css("span.b-combo__arrow").text()!
    [[RESULT_TEXT]] = _result()
    

    Нужно вставлять в действие выполнить код


  • @No

    По innerHTML можно кликать так, как показал @Turutur http://community.bablosoft.com/post/2265


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


  • «По innerHTML можно кликать так, как показал @Turutur http://community.bablosoft.com/post/2265»

    @support можете, пожалуйста, привести?


  • @No Ну берете весь код элемента или кусок кода, вставляете в поле, выбираете match вместо css, как показано на картинке. И происходит поиск по innerHTML


  • @support said in Как кликать по HTML а не CSS:

    вроде конструктора для логических выражений, которые есть сейчас

    @support — пожалуйста сделайте возможность в конструкторе регулярок — сразу переходить на страницу теста.

    зачем: допустим — делал регулярку общую к каким то данным с разных страниц — то есть универсальную — например регулярка которая вытаскивает прокси и порты, ссылки и так далее — она сохранена в файл — и чтобы не тратить время на создание регулярки через констрктор при тесте — сразу проверить работает ли сохраненная регулярка или полученная с другого источника


  • @Turutur Таких сервисов полно. Например, https://regex101.com/


  • @support например у меня есть такой код
    <span class=»b-combo__item-inner» dbid=»46″ dbprid=»3″ style=»cursor:pointer»>Автомобили</span>

    Можно ли кликнуть используя только эту часть, ибо всё остальное не постоянное. (Не получается так)
    style=»cursor:pointer»>Автомобили</span>


  • @No Можно сайт, я бы попробовал.


  • @support Я думаю только вы сможете разобраться в этой ситуации)
    Есть страница https://www.fl.ru/projects/ Тут нужно выбрать с выпадающего списка 2 категории, не важно какие, ну пускай это будет «Тексты: Статьи»
    Можно конечно по простому сделать
    alt text
    Но тогда нельзя будет просто перестроить скрипт например на» Разработка игр: 3D Моделирование» А вот если бы клики происходили по innerHTML, то тогда было бы лишь достаточно изменить данные в переменной и скрипт бы кликал по нужным категориям.
    Как подсказал @Canine , можно сделать клик указав просто текст без кода.
    alt text
    Но тогда вторую подкатегорию выбрать не получиться.
    Что можете посоветовать?


  • @No А если просто через ввод написать то что нужно оно вроде выбирает 0_1475782499389_постинг.png
    0_1475782625517_тест ввод.xml


  • Понравилась статья? Поделить с друзьями:

    Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Вылетает плей маркет пишет ошибка
  • Выполнение агентов на cron bitrix ошибка
  • Вылетает пабг неизвестная ошибка
  • Выплатить стипендию лексическая ошибка

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии