Как переключить на нужную вкладку не код, а браузер ?

ИСПОЛЬЗУЕТСЯ: C#, WebDriver, Chrome

ИМЕЕТСЯ
Открыто три вкладки

ВОПРОС
Как переключиться браузером на нужную вкладку зная только url?
Т.е. переключить не только код, но и браузер.
Аналогично переключению браузера на нужную вкладку с использованием Ctrl+Page Up (Ctrl+Page Down)

Перебираешь вкладки, получешь URl - сверяешься. Если не совпало - следующая вкладка.
Сишарп я не умею, поищи сишарпный аналог

http://toolsqa.com/selenium-webdriver/switch-commands/

Хочу уточнить, правильно ли я вас понял.

На приложенном скрине:

driver.Url будет выдавать www.yandex.ru/

К примеру переключим вкладку на https://habrahabr.ru/
Если я правильно вас понял, то при переключении вкладок предложенным вами способом
Активной станет вкладка
- в коде - https://habrahabr.ru/
- в браузере - www.yandex.ru/ (т.е. в браузере останется активной вкладка с Яндекс)

driver.Url будет выдавать https://habrahabr.ru/

ВОПРОС
Как сделать чтобы и браузер переключился на вкладку, которая активна в коде?

Вы уже попробовали, чтобы так говорить?
Это же пять строк кода - быстренько бы проверили ). А не задавали вопросы.

Если я правильно понял, то решение будет иметь вид

  var mainTab = browser1.CurrentWindowHandle;

            foreach (var window in browser1.WindowHandles)
            {
                if (!window.Equals(mainTab))
                {
                    browser1.SwitchTo().Window(window);
                }
            }

Но оно только переключает КОД, а вкладки браузера не переключаются

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

1 лайк

Ок. буду пробовать.

А с вкладками ничего нельзя придумать?
Или может можно сделать: открыть окна, а потом их собрать, как показано на скрине в сообщении “3” на одной панели браузера?

Правильно ли я понимаю термин “окно”?