2017-11-29 3 views
0

Ich habe eine kleine Frage über Selen in Java. In meinem Programm habe ich eine Menge href mit /cms/Geschäften/bearbeiten? Id = xxxWie bekomme ich id von href (Selen)

<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> 

Wie kann ich nur xxx (id) Wert in Selen (Java) und zum Beispiel Array hinzufügen ?? Snipppet

Antwort

1

Code:

- ArrayList Umsetzung:

 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 Umsetzung:

  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; 
      } 
+0

Hallo, Vielen Dank für Antwort und Lösungen, aber wenn ich versuche, Druck-ID-Werte (idListFromLink.get (0)) in der Konsole Ich habe Ausnahme: Ausnahme im Thread "Haupt" java.lang.IndexOutOfBoundsException: Index: 0, Größe: 0 – Mdr92

+0

Ich habe einen Fehler gemacht. Sehen Sie sich den aktualisierten Code an und lassen Sie es mich wissen. –

+0

Wieder die selbe Ausnahme oder wenn ich idListFromLink.length oder idListFromLink.size() verwendet habe, habe ich = 0 – Mdr92

0

Gemäß der HTML Sie teilen d drucken nur xxx (id) Wert können Sie den folgenden Codeblock verwenden:

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); 
+0

Hallo, ich habe versucht, Ihre Lösungen, aber ich habe eine Ausnahme: Ausnahme im Thread "Haupt" org.openqa.selenium.InvalidSelectorException: Gegeben Css Selektor Ausdruck "a.btn.btn-sm.btn-primäre [href^=/cms/shops/edit? id =] "ist ungültig: SyntaxError: 'a.btn.btn-sm.btn-primary [href^=/cms/shops/edit? id =]' ist kein gültiger Selektor – Mdr92

+0

verpasst die Zitate, versuche die aktualisierte Antwort und lass mich den Status wissen – DebanjanB

Verwandte Themen