2017-11-29 11 views
0

私はJavaでセレンについて少し質問があります。 は私のプログラムでは、I /編集 /CMS /お店とのhrefをたくさん持っている?ID = xxxはhref(セレン)からIDを取得する方法

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

がどのように私はxxxのセレン内(ID)値(Javaの)を取得し、例えば、配列に追加することができます??

答えて

1

コード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実装:あなたが共有HTMLを1として

  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

こんにちは、 は答えや解決策をありがとう、しかし、私は、印刷のid値をしようとすると、(idListFromLink.get(0))コンソールで私は例外があります: スレッド "main"の例外java.lang.IndexOutOfBoundsException:インデックス:0、サイズ:0 – Mdr92

+0

私は間違いをしました。今すぐ更新されたコードを見て、私に教えてください。 –

+0

この同じ例外、またはidListFromLink.lengthまたはidListFromLink.size()を使用したときに、私は0を返しました – Mdr92

0

D印刷するだけで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); 
+0

こんにちは、私はあなたのソリューションを試してみましたが、例外があります: スレッド "main"の例外org.openqa.selenium.InvalidSelectorException:与えられたcssセレクタ式 "a.btn.btn-sm.btn-primary [href^=/cms /店/編集?id =] "は無効です:SyntaxError: 'a.btn.btn-sm.btn-primary [href^=/cms /ショップ/編集?id =]'は有効なセレクタではありません – Mdr92

+0

は逃しました見積もり、更新された回答を試して、ステータスを教えてください – DebanjanB

関連する問題