Работа с вкладками

  • Автор темы Автор темы Fedor5588
  • Дата начала Дата начала

Fedor5588

Client
Регистрация
04.06.2017
Сообщения
347
Реакции
85
Баллы
28
Всем доброго времени суток. Не могу никак найти как можно переименовать активную вкладку. Проект работает с несколькими вкладками и нужно одну потом в конце сценария как то идентифицировать, чтобы работать с ней далее
 
Открываете вкладку сами кубиком. И называете как надо.
Проблемв в том что вкладку ЗП сам открывает и называет от балды?
 
  • Оценить
Реакции: Fedor5588
Снипет для создания вкладки с вашим именем.
C#:
Развернуть Свернуть Копировать
Tab tab = instance.NewTab("Google");

if (tab.IsBusy) tab.WaitDownloading();

Или

upload_2017-12-9_18-45-5.png

Переименовать вкладку нельзя.
 
  • Оценить
Реакции: Fedor5588
Снипет для создания вкладки с вашим именем.
C#:
Развернуть Свернуть Копировать
Tab tab = instance.NewTab("Google");

if (tab.IsBusy) tab.WaitDownloading();

Или


Переименовать вкладку нельзя.

Мне именно переименовать нужно( либо какой то другой метод. у меня выполняется разное действие во вкладках и они создаются автоматически и при клике на какие либо элементы сайта. И вот когда произошел клик по нужному элементу, автоматом открывается вкладка и дальше в ней мне нужно работать, проблема в том что происходит потом переключение на другую вкладку и вернуться уже в которой работал не могу. Итого я думал при открытии этой вкладки переименовать ее, но оказывается нельзя.
 
Мне именно переименовать нужно( либо какой то другой метод. у меня выполняется разное действие во вкладках и они создаются автоматически и при клике на какие либо элементы сайта. И вот когда произошел клик по нужному элементу, автоматом открывается вкладка и дальше в ней мне нужно работать, проблема в том что происходит потом переключение на другую вкладку и вернуться уже в которой работал не могу. Итого я думал при открытии этой вкладки переименовать ее, но оказывается нельзя.
хз, может уже сделали возможность переименовывать...
 
  • Оценить
Реакции: Fedor5588
хз, может уже сделали возможность переименовывать...
Лан, подумаю спасибо)
у меня может просто быть 6-15 вкладок типа popup-2 popup-3 popup-4 popup-5 и целевая каждый раз разная тут не угадаешь если из списка дергать
 
Лан, подумаю спасибо)
у меня может просто быть 6-15 вкладок типа popup-2 popup-3 popup-4 popup-5 и целевая каждый раз разная тут не угадаешь если из списка дергать
Но ведь не все задействованы и необходимы?
Закрывать лишние
 
Мне именно переименовать нужно( либо какой то другой метод. у меня выполняется разное действие во вкладках и они создаются автоматически и при клике на какие либо элементы сайта. И вот когда произошел клик по нужному элементу, автоматом открывается вкладка и дальше в ней мне нужно работать, проблема в том что происходит потом переключение на другую вкладку и вернуться уже в которой работал не могу. Итого я думал при открытии этой вкладки переименовать ее, но оказывается нельзя.
C#:
Развернуть Свернуть Копировать
// переход на другую вкладку
Tab tab = instance.GetTabByAddress("popup");
tab.SetActive();

return instance.AllTabs[0].Name; // Получаем имя первой вкладки
return instance.AllTabs.Length; // Получаем количество вкладок
return instance.ActiveTab.Name;// Получаем имя активной вкладки


instance.GetTabByAddress("page").Close();// закрываем вкладку по имени

Tab[] tabs = instance.AllTabs;
//tabs - это имя списка куда положить имена вкладок
var list = project.Lists["tabs"];
for(int i=0; i < tabs.Length; i++)    {
     list.Add(tabs[i].Name);
   }
return "добавлено "+tabs.Length+" вкладок в список";


Как вариант экшен Switch -> получаешь количество вкладок, получаешь имена всех вкладок, дольше в зависимости от количества вкладок идешь по нужному пути, потом сверяешь урл {-Page.Url-} и логика
 
C#:
Развернуть Свернуть Копировать
// переход на другую вкладку
Tab tab = instance.GetTabByAddress("popup");
tab.SetActive();

return instance.AllTabs[0].Name; // Получаем имя первой вкладки
return instance.AllTabs.Length; // Получаем количество вкладок
return instance.ActiveTab.Name;// Получаем имя активной вкладки


instance.GetTabByAddress("page").Close();// закрываем вкладку по имени

Tab[] tabs = instance.AllTabs;
//tabs - это имя списка куда положить имена вкладок
var list = project.Lists["tabs"];
for(int i=0; i < tabs.Length; i++)    {
     list.Add(tabs[i].Name);
   }
return "добавлено "+tabs.Length+" вкладок в список";


Как вариант экшен Switch -> получаешь количество вкладок, получаешь имена всех вкладок, дольше в зависимости от количества вкладок идешь по нужному пути, потом сверяешь урл {-Page.Url-} и логика

оооо, со сверкой урл точно! сейчас накодим) спасибо
 
Закрываем все вкладки кроме двух/одной/трех и сколько хочешь, очень часто помогает если делаешь на рандомных сайтах клики, можно ожидать что откроется третья и возможно четвертая вкладка, прям сразу после клика, подождал загрузку страницы и пару сек, и выполняешь этот скрипт, лишним не будет
C#:
Развернуть Свернуть Копировать
Tab[] tabs = instance.AllTabs;
for (int i = 2; i < tabs.Count(); i++)
    tabs[i].Close();

C#:
Развернуть Свернуть Копировать
// close all tabs закрываем все вкладки
instance.CloseAllTabs();
 
Парни, может кто знает, как кодом получить вот такой ответ как из кубика - что вкладка не найдена? Попробовал блок try - catch, не так не работает :bw:
2022-06-10_20-16-35.jpg
 
Парни, может кто знает, как кодом получить вот такой ответ как из кубика - что вкладка не найдена? Попробовал блок try - catch, не так не работает :bw:
Посмотреть вложение 93025

Выбрать нужный tab, если нет, выдать исключение:
Развернуть Свернуть Копировать
Tab tab = instance.GetTabByAddress("test1"); // page

if(tab.IsVoid)
{
    project.SendInfoToLog("Не нашел");
    //return "no"; // просто вернуть "no" и продолжить работу
    throw new Exception("Не нашел, выхожу по красной"); // выдать исключение
}
tab.SetActive();
project.SendInfoToLog("Нашел и активировал");
return "ok";
 
  • Оценить
Реакции: p-sergei
Снипет для создания вкладки с вашим именем.
C#:
Развернуть Свернуть Копировать
 Tab tab = instance.NewTab("Google");


Подскажите пожалуйста, как вставить переменной имя вкладки {-Variable.random-} ???
 
Последнее редактирование:
  • Оценить
Реакции: V0nek
Снипет для создания вкладки с вашим именем.
C#:
Развернуть Свернуть Копировать
Tab tab = instance.NewTab("Google");   (1)

if (tab.IsBusy) tab.WaitDownloading();
(2)

После (1) открылась вкладка с нужным названием,

перешел в этой вкладке на нужную страница

открываю на сайте, название вкладки не сохранилось,
опять такое как название темы.

Нужно, чтобы название вкладки зафиксировалось и открывалось на сайте, такое, которое указано
 
Последнее редактирование:
открываю на сайте, название вкладки не сохранилось,
Что вы открываете на сайте то?
1. Снипет создает вкладку с нужным именем.
2. Потом через кубик браузер - переходите куда вам нужно, указав в нем имя Вкладки где открыть сайт.
96373
 
Что вы открываете на сайте то?
1. Снипет создает вкладку с нужным именем.
2. Потом через кубик браузер - переходите куда вам нужно, указав в нем имя Вкладки где открыть сайт.
на сайте открываю тему, созданную ZP
Мне надо, чтобы у вкладки с темой было то название, которое введено, как в примере выше.
Но так работает только в шаблоне.
После создания темы название вкладки не сохраняется
 
на сайте открываю тему, созданную ZP
Мне надо, чтобы у вкладки с темой было то название, которое введено, как в примере выше.
Но так работает только в шаблоне.
После создания темы название вкладки не сохраняется
О какой теме речь? Вы о чем вообще? Как Вкладки должны сохранятся, если они единоразовые? Если вы про переименовать вкладку, то на сколько я помню - этого делать нельзя. Только создавать каждый раз новую с нужным именем.
 
О какой теме речь? Вы о чем вообще? Как Вкладки должны сохранятся, если они единоразовые? Если вы про переименовать вкладку, то на сколько я помню - этого делать нельзя. Только создавать каждый раз новую с нужным именем.
речь о теме - посмотрите сколько угодно форумов в инете, где название вкладки (в браузере) не совпадает с названием темы.

Что значит нельзя? Нельзя этого сделать средствами ZP? Плохо)

Как ее кошерно решить другим способом.
Потому что в принципе эта задача решаемая. Но ...
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)