2016-07-07 132 views
0

我有以下HTML代码,我试图从中获取URL,但我不太确定如何检索它。在href我想获得的部分是www.boeing.com.au如何获得锚标记中的href的一部分

这里的HTML

<a class="ab_button" onmousedown="return rwt(this,'','','','16','AFQjCNFIVYkcHQ-z26ZbnFb9CgYWIbMU7Q','rSHXknRQFBYhkJW2qdZ-Pg','0ahUKEwiv-LLhyODNAhUEORoKHevZDV0Q_BcIhwEwDw','','',event)" 
     role="button" href="/url?sa=t&rct=j&q=&esrc=s&source=web&cd=16&cad=rja&uact=8&ved=0ahUKEwiv-LLhyODNAhUEORoKHevZDV0Q_BcIhwEwDw&url=http%3A%2F%2Fwww.boeing.com.au%2F&usg=AFQjCNFIVYkcHQ-z26ZbnFb9CgYWIbMU7Q&sig2=rSHXknRQFBYhkJW2qdZ-Pg" 
     >Website</a> 

回答

2

你应该尝试如下: -

WebElement el = driver.findElement(By.linkText("Website")); 
String urlText = el.getAttribute("href"); //this is the url 

编辑: -

由于你提到你想从上面的urlTextwww.boeing.com.au那么你应该尝试如下: -

public static Map<String, String> splitUrl(String urlText) { 
    Map<String, String> query_pairs = new LinkedHashMap<String, String>(); 
    String query = urlText; 
    String[] pairs = query.split("&"); 
    for (String pair : pairs) { 
     int idx = pair.indexOf("="); 
     query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8")); 
    } 
    return query_pairs; 
} 

Map<String, String> splittedUrlMap = splitUrl(urlText); 
String actualUrl = splittedUrlMap.get("url"); 
System.out.println(actualUrl)' 

输出: - http://www.boeing.com.au/

希望它会帮助你... :)

+0

SRY我没有好好解释一下我的问题。请再看看 – user1798578

+0

@ user1798578请看更新的答案.. –