2012-08-07 50 views
0

我試圖獲得在頁面的html內的腳本內發現的skuID(形式爲sku102921,數字長度未知(可能是sku219043012或sku2131)) 。我想這將是很好的使用正則表達式..任何幫助,將不勝感激從innerHTML獲取未知長度的特定字符串

public String getRecommendedOfferSkuID() { 
    WebElement recommendedOffer = driver.findElement(By.xpath"//td[@class='recomm-offer']")); 
    String recommendedOfferHTML = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].innerHTML;", recommendedOffer); 
    java.lang.String skuID == ""; 
    recommendedOfferHTML. //need help here 

在HTML腳本有包含skuID

submitFormByButtonId("prod9760999"+"-" + "sku30768633"); 
+0

表示該文本不包含任何可能碰撞collis的含糊內容離子與你想要的搜索......然後類似這個正則表達式可能就足夠了:'(sku \ d +)'...它將匹配sku文字,然後是任意數量的數字。當然你需要在Java中實現正則表達式匹配。但那可能是你可能需要的表達。 – 2012-08-07 19:15:45

回答

1

這種方法嘗試這樣的:

java.lang.String skuID = ""; 
Pattern pattern = Pattern.compile("sku\\d+"); 
Matcher m = pattern.matcher(recommendedOfferHTML); 
while(m.find()) { 
    skuID = m.group(1); 
} 

感謝您輸入迭戈