2016-11-28 6 views
0

私は管理者としてタスクを作成し、ライターに割り当てました。作家として、タスクを検索してその特定のタスク編集アイコンをクリックする必要があります。リスト内のタスクを見つけることができません。あるページでは、タスクが表示されます。タスクは、第1ページまたは第2ページに表示されます。 誰かがこのためにseleniumコードを手伝ってもらえますか? enter image description hereセレンスクリプトが動作しない

編集:

List<WebElement> EditButtons = d.findElements(By.cssSelector("a[title='Edit Row']")); 
        String textvalue = d.findElement(By.xpath("//div[@id='main-content']/div[2]/div/div[1]/div[3]/div/div/table/tbody/tr[5]/td[1][contains(text(),'26_Test4')]")).getText(); 
        Thread.sleep(3000); 
        System.out.println(textvalue); 
        //Horizontal scroll 
        JavascriptExecutor js = (JavascriptExecutor)d; 
        js.executeScript("window.scrollBy(2000,0)", ""); 
        JavascriptExecutor js = (JavascriptExecutor) d; 
        //Edit icon path 
        d.findElement(By.xpath("//div[@id='main-content']/div[2]/div/div[1]/div[3]/div/div/table/tbody/tr[5]/td[12]/i")).click(); 

編集

I am getting error 
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 3 
    at java.util.ArrayList.rangeCheck(Unknown Source) 
    at java.util.ArrayList.get(Unknown Source) 

コード

//vertical scroll 
      JavascriptExecutor jse3 = (JavascriptExecutor)d; 
      jse3.executeScript("window.scrollTo(0, document.body.scrollHeight)"); 
      Thread.sleep(2000); 
      //Zoomout 
      JavascriptExecutor js = (JavascriptExecutor) d; 
      js.executeScript("document.body.style.zoom='90%'"); 
      Thread.sleep(2000); 
      System.out.println("Zoomout is successfull"); 
      List<WebElement> dataTitles = d.findElements(By.xpath("//td[@data-title='Title ']")); 
      //System.out.println(dataTitles); 
      List<WebElement> editIcons= d.findElements(By.xpath("//td[12]/i")); 
      int index=0; 
      for(WebElement element : dataTitles) 
      { 
      if(element.getText().equalsIgnoreCase("28_res2")) 
      { 
      break; 
      } 
      index = index + 1; 
     } 

      editIcons.get(index).click(); 
+0

これで試したコードを共有できますか? –

+0

@AnishPillaiコードを更新しました。確認してください。 – Akshatha

+0

firepathを使ってxpathのEditアイコンをチェックしましたか?それはUIでうまくいきますか?あるいは、正しいxpathを書く上で問題がありますか? –

答えて

0

このようなものがあなたに役立つかどうかを確認してください。私はそのプロパティーを使ってデータタイトルのリストを探しています[@data-title='Title ']。また、アイコンも同じプロパティを持っていると仮定しているため、これらのアイコンもリストに表示されます。

正確なデータが存在するインデックスを検索しています。そのインデックスをアイコン上でクリックしてクリックすることができます。複数のページに対して同じロジックを繰り返したい場合は、このコードをすべてページのナビゲーションを処理する外部ループに追加する必要があります。

List<WebElement> dataTitles = d.findElements(By.xpath("//td[@data-title='Title ']")); 
List<WebElement> editIcons= d.findElements(By.xpath("...something...")); 

int index=0; 
for(WebElement element : dataTitles) { 
    if(element.getText().equalsIgnoreCase("26_Test4") { 
    break; 
    } 
index = index + 1; 
} 

//Click on edit icon at index derived above 
editIcons.get(index).click; 
+0

私は更新しました問題は、エラーをデバッグするのを手伝ってください。 'editIcons.get(index).click();'という行にエラーが表示されます。 – Akshatha

+0

横のスクロールは機能しませんでしたので、編集アイコンを表示するには横にスクロールする必要があります。まだ編集アイコンをクリックしていません。 – Akshatha

関連する問題