2015-10-13 33 views
1

我有一些URL,如“https://some.url.ru/new-token”。我需要将其更改为“http://some.url.ru/new-token”(意味着将HTTPS更改为HTTP)。我无法更改整个网址,因为每次我获得新的令牌时。 (Selenium,Java)。我如何更改url链接并将其与硒一起使用

所以,我的问题:

  1. 我得到的网址: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. 

所以:NOW质疑仍停留的两个一: “一些” 到 “另一个” 例如,在如何变化?

+0

是y我们的问题与https安全使用网址,但你想要得到它使用http?你的问题严重违反了网络安全!请通过适当的研究来更新问题。 [检查如何在SO问](http://www.stackoverflow.com/help/how-to-ask) –

+0

@GirishSortur我的问题与安全无关。有时候我需要改变部分,比如“some”到“another”(例如“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类提供了很多方法来对字符串工作。通过这些方法的帮助,我们可以对字符串执行操作,例如修剪,连接,转换,比较,替换字符串等等。在你的情况下,例如用'http'替换'https',你可以做这样的事情:

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

如果“一些”是动态的,那么“some”可能是“smthelse”,对我而言重要的是打开“另一个”的url? – Lzhelis

相关问题