Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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

csharp
chromedriver
selenium
webdriver
Теги: #<Tag:0x00007f7b65229510> #<Tag:0x00007f7b652293a8> #<Tag:0x00007f7b65229268> #<Tag:0x00007f7b65229088>

(It Ot) #1

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

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

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


(Bolatbek) #2

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

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


(It Ot) #3

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

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

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

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

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

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


(Bolatbek) #4

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


(It Ot) #5

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

  var mainTab = browser1.CurrentWindowHandle;

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

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


(Vasiliy Rakshin) #6

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


(It Ot) #7

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

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

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