Перейти к содержимому

Фотография

Открытие новой вкладки и нажатие ctrl+v Selenium

sendKey selenium handle

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 MoshneagaOleg

MoshneagaOleg

    Новый участник

  • Members
  • Pip
  • 48 сообщений
  • ФИО:Мошняга Олег Михайлович

Отправлено 22 ноября 2018 - 12:46

Добрый день, столкнулся с тем что необходимо сделать ctrl+v

Итак начнем я был на определенной странице нажал кнопку, которая по бизнес логике копирует ссылку в буфер. 
Теперь я должен проверить это. Я должен открыть новую вкладку это сделал уже.

JavascriptExecutor jse = (JavascriptExecutor)uiScenarioContext.getBrowser().getDriver();
jse.executeScript("window.open()"); 

Далее необходимо сделать ctrl+v, какие способы бы не пробовал не работает, необходимо закрыть сессию на той старой вкладке. Но дело что передача чего-то требует вебэлемента(а у меня только адресная строка)

Может кто-то сталкивался с таким.

 

  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 22 ноября 2018 - 13:49

Вы не поверите, но самое простое - это просто проверить содержимое буфера:

import java.awt.Toolkit;
import java.awt.datatransfer.*;


Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);
String boofer_content = (String)contents.getTransferData(DataFlavor.stringFlavor);

  • 0

#3 MoshneagaOleg

MoshneagaOleg

    Новый участник

  • Members
  • Pip
  • 48 сообщений
  • ФИО:Мошняга Олег Михайлович

Отправлено 22 ноября 2018 - 14:02

 

Вы не поверите, но самое простое - это просто проверить содержимое буфера:

import java.awt.Toolkit;
import java.awt.datatransfer.*;


Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clipboard.getContents(null);
String boofer_content = (String)contents.getTransferData(DataFlavor.stringFlavor);

Уже решил, если кто-то столкнется с таким вот решение:

Перед данным методом я использую getNextHandle() 

public void getNextHandle() {
        for (String windowHandle : getBrowser().getDriver().getWindowHandles()) {
            getBrowser().getDriver().switchTo().window(windowHandle);
        }
    }
 public void createNewTabPasteAndEnter() throws AWTException {
        Robot r = new Robot();
        r.keyPress(KeyEvent.VK_CONTROL);
        r.keyPress(KeyEvent.VK_T);
        r.keyPress(KeyEvent.VK_CONTROL);
        r.keyPress(KeyEvent.VK_V);
        r.keyPress(KeyEvent.VK_ENTER);
    }

  • 0



Темы с аналогичным тегами sendKey, selenium, handle

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных