2015-10-13 10 views
1

У меня есть URL-адрес «https://some.url.ru/new-token». Мне нужно изменить его на «http://some.url.ru/new-token» (среднее изменение HTTPS на HTTP). Я не могу изменить весь URL, потому что каждый раз, когда я получаю новый токен. (Selenium, Java).Как я могу изменить ссылку на URL-адрес и использовать его с селеном

Итак, мой вопрос:

  1. Я получаю URL: driver.getCurrentUrl();

  2. , тогда мне нужно его изменить - измените HTTPS на HTTP: КАК?

  3. Мне нужен новый URL: КАК?

Я нашел решение:

StringBuffer newUrl = new StringBuffer(driver.getCurrentUrl()); 
newUrl.deleteCharAt(4); //4 - it's number of symbol what should cut, first symbol have number "0" 
driver.get(String.valueOf(newUrl)); //there url would be without 5th symbol. 

Итак: ТЕПЕРЬ вопрос все еще остаются одной из двух: как изменить «некоторые» к «другой» в примере?

+0

Является ли y наш вопрос использовать url с безопасностью https, но вы хотели бы получить его с помощью http? У вашего вопроса есть серьезное нарушение безопасности в Интернете! Пожалуйста, уточните вопрос с надлежащим исследованием, которое вы выполнили. [ознакомьтесь с инструкцией по использованию в SO] (http://www.stackoverflow.com/help/how-to-ask) –

+0

@GirishSortur мой вопрос, не относящийся к безопасности. Иногда мне нужна часть изменения как «некоторые» для «другой» также (например, «https://some.url.ru/new-token»). – Lzhelis

+0

Вы хотите взять URL-адрес и изменить его на http, затем '.get (url)'. Или изменить действие 'href' и отправить клик? –

ответ

0

Вы можете использовать .replaceAll() изменить подстроки, как:

String url = driver.getCurrentUrl(); 
String url_new = url.replaceAll("string/to/change", "new/string"); 
driver.navigate().to(new_url); 
0

Класс java.lang.String предоставляет множество методов для работы на строку. С помощью этих методов мы можем выполнять операции над строкой, такие как обрезка, конкатенация, преобразование, сравнение, замена строк и т. Д. В вашем случае, например, чтобы заменить «https» на «http», вы можете сделать что-то вроде этого:

String url = driver.getCurrentUrl(); 
String newUrl = url.replace("https", "http"); 

Не уверен, что случай использования, но если вы хотите, чтобы перейти к этому новому URL, затем сделать

driver.get(newUrl); 

Аналогично, чтобы изменить «некоторые» к «другому», как вы просили :

String url = driver.getCurrentUrl(); 
String newUrl = url.replace("some", "another"); 
+0

Как насчет того, что «кто-то» динамичен: «некоторые» могут быть «smthelse», когда для меня важно открыть URL с «другим»? – Lzhelis