2016-07-07 55 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請看更新的答案.. –