2016-10-24 11 views
0

入力を検索すると複数の表データが取得されます。 私たちはクリックする必要がある別のテーブル行に「テキストリンクとして表示」を表示しています。ウェブ要素が表示されるまでスクロールして必要な操作を実行する方法

IEで1つのマシンで正常に動作しているコードを書いています。同じスクリプトが異なるマシンで動作していないのは、モニターのサイズが異なるからです!

 String rawTextXpath = "//table[@id='view518-table']/tbody/tr[1]/td[4]/div[1]/a[text()='Show as raw text']"; 
      boolean exists = false; 
      exists = driver.findElements(By.xpath(rawTextXpath)).size() != 0; 

      if (exists == false) { 
       system.out.println("No Results found!"); 
      } 
      int i = 1; 
      while (exists == true) { 
       try { 

        driver.findElement(By.xpath(rawTextXpath)).click(); 
        Thread.sleep(3000); 



       }  

       catch (Exception e) { 

       } 

       String expandXpath = "//table[@id='view518-table']/tbody/tr[" + i + "]/td[1]/a"; 
       driver.findElement(By.xpath(expandXpath)).click(); 

       JavascriptExecutor jse = (JavascriptExecutor) driver; 
       jse.executeScript("window.scrollBy(0,150)", ""); 



       rawTextXpath = "//table[@id='view518-table']/tbody/tr[" + (i + 1) 
         + "]/td[4]/div[1]/a[text()='Show as raw text']"; 

       exists = driver.findElements(By.xpath(rawTextXpath)).size() != 0; 

       i++; 

      } 

注:上記のスクリプトでは、私はそれが一台のマシンでIEと同じバージョンでは正常に動作し、それが別のブラウザで同じブラウザを動作していない

アクションが上 1クリックで150でWebページをスクロールしています各テーブル行にテキストリンクとして表示し、展開アイコンをクリックしてください

上記のコードは、同じIE11ブラウザで異なるシステムで正常に動作しません。

+0

を試してみてください? –

+0

別のテーブル行の最初の2つのリンクをクリックすることができますが、3番目のリンクの代わりにページ内の他の場所をクリックしています –

答えて

-1

ウィンドウの高さを減算する必要があります。animate jqueryライブラリでスクロールダウンの別の関数を呼び出してください。

$("html, body").animate({ scrollTop: $(document).height()-$(window).height() }); 
1

あなたが取得しているか、エラーこの

WebElement element = driver.findElement(By.id("id_of_element")); 

((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", element); 

Thread.sleep(500); 
+0

これも動作していません。 –

関連する問題