Как открыть новую вкладку в существующем браузере Firefox с помощью Selenium WebDriver (он же Selenium 2)?
selenium
firefox
selenium-webdriver
browser-tab
Бхакти Шах
источник
источник
Ответы:
Приведенный ниже код откроет ссылку в новой вкладке.
Приведенный ниже код откроет пустую новую вкладку.
источник
window.open()
, вы можете ожидать, что оно будет работать на многих платформах / браузерах.Просто для всех, кто ищет ответ в привязках Ruby / Python / C # (Selenium 2.33.0).
Обратите внимание, что фактические ключи для отправки зависят от вашей ОС, например, Mac использует
COMMAND + t
вместоCONTROL + t
.Рубин
Python
C #
источник
driver.switchTo().window(windowName);
получить доступ к любой вкладке или окну. Очевидно, вам нужно будет отслеживать имена окон как обычно, чтобы можно было переключаться между ними.Почему бы не сделать это
источник
driver.ExecuteScript("window.open('about:blank','_blank');");
Чтобы открыть новую вкладку с помощью JavascriptExecutor,
Будет управлять вкладкой согласно индексу:
Управление драйверами на главной вкладке:
источник
driver.switchTo().window(tabs.get(1)); driver.get("https://www.stackoverflow.com"); Thread.sleep(2000); driver.switchTo().window(tabs.get(2)); driver.get("https://www.flipkart.com"); Thread.sleep(2000); driver.close(); driver.switchTo().window(tabs.get(1)); Thread.sleep(2000); driver.close(); driver.switchTo().window(tabs.get(0));
, Я пробовал это, но получаю исключение из связанного массива. Если вы знаете какое-либо решение, дайте мне знать.driver.switchTo().window(tabs.get(2));
это работает нормально,((JavascriptExecutor) driver).executeScript("window.open('https://www.stackoverflow.com','_blank');"); Thread.sleep(3000); ((JavascriptExecutor) driver).executeScript("window.open('https://www.flipkart.com','_blank');");
но у меня не будет никакого контроля, чтобы переключиться на окна.Чтобы открыть новое окно в драйвере Chrome.
Для переключения между вкладками читайте здесь
источник
Вы можете использовать следующий код, используя Java с Selenium WebDriver:
Используя JavaScript:
После открытия новой вкладки необходимо переключиться на эту вкладку:
источник
Попробуйте это для браузера FireFox.
источник
Код ниже откроет ссылку в новом окне
источник
Почти все ответы здесь устарели.
WebDriver теперь поддерживает открытие вкладок:
Откроется новая вкладка. Открытие окна стало практически нестандартным делом:
Вкладка или окно не будут автоматически фокусироваться. Чтобы переключиться на него:
источник
Чтобы открыть новую вкладку в существующем браузере Chrome с помощью Selenium WebDriver, вы можете использовать этот код:
источник
Некоторое время у меня были проблемы с открытием новой вкладки в Chrome. Даже
driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t");
у меня не сработало.Я обнаружил, что недостаточно того, что селен сосредоточен на драйвере, Windows также должна иметь окно спереди.
Мое решение заключалось в том, чтобы вызвать предупреждение в chrome, которое выводило бы окно на передний план, а затем выполняло команду. образец кода:
источник
Я использую Selenium 2.52.0 в Java и Firefox 44.0.2. К сожалению, ни одно из вышеперечисленных решений не помогло мне. Проблема в том, что если я вызываю driver.getWindowHandles (), я всегда получаю один единственный дескриптор. Каким-то образом это имеет для меня смысл, поскольку Firefox - это единый процесс, а каждая вкладка не является отдельным процессом. Но может я ошибаюсь. Во всяком случае, я пытаюсь написать собственное решение:
Я использовал комбинацию Ctrl + t, чтобы открыть новую вкладку, Ctrl + w, чтобы закрыть ее, и чтобы вернуться к исходной вкладке, я использовал Ctrl + 1 (первая вкладка). Я знаю, что мое решение не идеально или даже не хорошо, и я также хотел бы переключиться с помощью драйвера switchTo call, но, как я уже писал, это было невозможно, поскольку у меня был только один дескриптор. Может быть, это будет полезно кому-нибудь в такой же ситуации.
источник
источник
Как открыть новую вкладку с помощью Selenium WebDriver с Java для Chrome?
Приведенный выше код отключит первые расширения, и при использовании класса робота откроется новая вкладка.
источник
Эта строка кода откроет новую вкладку браузера с помощью selenium webdriver.
источник
*ЯВА
Рекомендую использовать
JavascriptExecutor
:После импорта:
источник
Тот же пример для nodejs:
источник
Как открыть новую, но, что более важно, как вы делаете что-то на этой новой вкладке? Webdriver не добавляет новый WindowHandle для каждой вкладки, а контролирует только первую вкладку. Итак, после выбора новой вкладки (Control + Tab Number) установите .DefaultContent () в драйвере, чтобы определить видимую вкладку как ту, над которой вы собираетесь работать.
Visual Basic
источник
Чтобы открыть новую вкладку в существующем браузере Firefox с помощью Selenium WebDriver
источник
источник
источник
проверьте этот полный пример, чтобы понять, как открывать несколько вкладок и переключаться между вкладками, а в конце закрывать все вкладки
Этот пример приведен на этой веб-странице
источник
Из-за ошибки в https://bugs.chromium.org/p/chromedriver/issues/detail?id=1465, хотя webdriver.switchTo действительно переключает вкладки, фокус остается на первой вкладке. Вы можете подтвердить это, выполнив driver.get после switchWindow и увидев, что вторая вкладка фактически переходит на новый URL-адрес, а не на исходную вкладку.
На данный момент это то, что предлагает @ yardening2. Используйте js, чтобы открыть предупреждение, а затем используйте webdriver, чтобы принять его.
источник
Этот код работает для меня (селен 3.8.1, chromedriver = 2.34.522940, chrome = 63.0):
источник
Вопрос : Как открыть новую вкладку с помощью Selenium WebDriver с Java?
Ответ : После перехода по любой ссылке открывается новая вкладка.
Если мы хотим обрабатывать новую открытую вкладку, нам нужно обрабатывать вкладку с помощью команды .switchTo (). Window ().
Переключитесь на определенную вкладку, затем выполните операцию и вернитесь на родительскую вкладку.
источник
Selenium не поддерживает открытие новых вкладок, он поддерживает только открытие новых окон. Во всех смыслах новое окно в любом случае функционально эквивалентно новой вкладке.
Существуют различные приемы, позволяющие обойти эту проблему, но в долгосрочной перспективе они могут вызвать другие проблемы.
источник
Если вы хотите открыть новую вкладку, вы можете использовать это
Если вы хотите открыть ссылку с новой вкладки, вы можете использовать это
с JavascriptExecutor:
с действиями:
источник
источник
Обработка окна браузера с помощью Selenium Webdriver:
источник