我对java中的selenium有一点疑问。 在我的程序中,我有很多href / CMS /商店/编辑?ID = XXX
<a href="/cms/shops/edit?id=736" class="btn btn-sm btn-primary">Edit</a>
<a href="/cms/shops/edit?id=321" class="btn btn-sm btn-primary">Edit</a>
<a href="/cms/shops/edit?id=123" class="btn btn-sm btn-primary">Edit</a>
如何在selenium(java)中仅获取xxx(id)值并添加到数组中?例如?
答案 0 :(得分:1)
Code Snipppet:
- ArrayList
实施:
List<WebElement> linkList = driver.findElements(By.cssSelector("a[class^='btn btn-sm']"));
List<Integer> idListFromLink = new ArrayList<Integer>();
for(WebElement link : linkList){
String [] temp = link.getAttribute("href").split("=");
int id = Integer.valueOf(temp[temp.length - 1]);
idListFromLink.add(id);
}
- Array
实施:
List<WebElement> linkList = driver.findElements(By.cssSelector("a[class^='btn btn-sm']"));
int listSize = linkList.size();
int [] idListFromLink = new int[listSize];
for(int i = 0; i < listSize; i++){
String [] temp = linkList.get(i).getAttribute("href").split("="); //split the href value using delimeter '='
int id = Integer.valueOf(temp[temp.length - 1]); //get the last item
idListFromLink[i] = id;
}
答案 1 :(得分:0)
根据您共享的HTML
仅打印xxx(id)值,您可以使用以下代码块:
List<WebElement> linkList = driver.findElements(By.cssSelector("a.btn.btn-sm.btn-primary[href^='/cms/shops/edit?id']"));
List<Integer> idListFromLink = new ArrayList<Integer>();
for(WebElement link : linkList){
String my_href = link.getAttribute("href");
String[] parts = my_href.split("=");
idListFromLink.add(Integer.parseInt(parts[1]));
}
System.out.println(idListFromLink);