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

Фотография

Добавление параметра к ссылке.


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

#1 jerom55

jerom55

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иванов Сергей Викторович

Отправлено 07 июня 2022 - 14:33

Всем привет.

Решил попробовать написать свой первый авто-тест (я ещё только в начале пути, тестирования).

Занимаюсь тестированием платежей, на тестовом стенде реализована выдача текущего кода капчи. 

Для этого необходимо в конце ссылки добавить параметр &get_code=1.

Нашёл нужный элемент 

 

WebElement capch = driver.findElement(By.cssSelector(".Service_captcha-img__2xct9"));

 

Вытащил из элемента нужную ссылку

String par = capch.getAttribute("currentSrc");

 

Запустил её

driver.get(par);

 

Но вот как добавить к ссылке параметр &get_code=1 чёт теперь не соображу.


  • 0

#2 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 07 июня 2022 - 14:39

Обычным сложением, например 

driver.get(par+"&get_code=1")

  • 0

#3 jerom55

jerom55

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иванов Сергей Викторович

Отправлено 07 июня 2022 - 15:10

 

Обычным сложением, например 

driver.get(par+"&get_code=1")

Спасибо)) 


  • 0

#4 jerom55

jerom55

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иванов Сергей Викторович

Отправлено 08 июня 2022 - 09:59

После вашей подсказки всё сработало. Но теперь на следующем шаге опять застрял. Прочитал некоторое количество статей, применил что там было не очень помогло (точнее совсем не помогло, там были немного другие случаи). Ссылку то эту нужно открыть в новой вкладке и тут снова затыка. Как показывает практика сюда я не могу передать sendKeys (CONTROL+t) допустим.

driver.get(par+"&get_code=1").sendKeys(CONTROL+"t");

Если так передавать , то на CONTOL ругается предлагает из него параметр создать или ещё что то

WebElement capch = driver.findElement(By.cssSelector(".Service_captcha-img__2xct9")).sendKeys (CONTROL+"t");

И короче я опять в тупике)) Часть кода сейчас так выглядит. Код с капчи я теперь получил, но вся проблема в том что открывается это всё в текущем окне, сбивая все введённые мною параметры)

WebElement capch = driver.findElement(By.cssSelector(".Service_captcha-img__2xct9"));
String par = capch.getAttribute("currentSrc");
driver.get(par+"&get_code=1");
Thread.sleep(2000);
WebElement body = driver.findElement(By.tagName("body"));
String text = body.getAttribute("innerHTML");

  • 0

#5 jerom55

jerom55

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иванов Сергей Викторович

Отправлено 08 июня 2022 - 14:21

Прочитал что в новом selenium (4.х)  нет необходимости в javascript или send_keysобходных путях. Selenium 4 предоставляет новый API, newWindowкоторый позволяет создавать новое окно (или вкладку) и автоматически переключаться на него. Поскольку новое окно или вкладка создаются в том же сеансе, он избегает создания нового объекта WebDriver. Переписал код так) всё получилось)

 WebElement capch = driver.findElement(By.cssSelector(".Service_captcha-img__2xct9"));
        String par = capch.getAttribute("currentSrc");
        driver.switchTo().newWindow(WindowType.TAB);
        driver.navigate().to(par+"&get_code=1");
        Thread.sleep(2000);
        WebElement body = driver.findElement(By.tagName("body"));
        String text = body.getAttribute("innerHTML");
  


  • 0

#6 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 08 июня 2022 - 16:56

driver.get(par+"&get_code=1").sendKeys(CONTROL+"t");

А разве можно к методу get добавлять метод sendKeys?

К тому же, может вы имели ввиду CTRL+T?


  • 0

#7 jerom55

jerom55

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

  • Members
  • Pip
  • 17 сообщений
  • ФИО:Иванов Сергей Викторович

Отправлено 10 июня 2022 - 07:55

driver.get(par+"&get_code=1").sendKeys(CONTROL+"t");

А разве можно к методу get добавлять метод sendKeys?

К тому же, может вы имели ввиду CTRL+T?

 

Да вы правы в метод get нельзя добавлять метод sendKeys

К тому же, может вы имели ввиду CTRL+T - с этим моментом пока не удалось разобраться. На сайте где это вычитал было записано именно так.


  • 0


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

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