2016-05-04 8 views
0

クリックできない、あなたのエラーごとにアマール・ナス・ヤダフ@ちょっとElement is not clickableUI_elementはコードの下

public static void hpLinksClick() throws InterruptedException{  
      UI_GenericMethods.gmValidLogin(); 
      for(int i=0;i<=Li_WE.size()-1;i++){ 
       WebElement WEObj=Li_WE.get(i); 
       //Thread.sleep(500); 
       UI_GenericMethods.gmMouseOverAndClik(WEObj);  
       String linkText=Li_WE.get(i).getText(); 
       System.out.println(linkText); 
       if(linkText.equalsIgnoreCase("More")){ 
       for(int i1=0;i1<=More_Li.size()-1;i1++){    
        WebElement we_more=More_Li.get(i1); 
        Thread.sleep(500);               UI_GenericMethods.gmMouseOverAndClik(we_more);        
      } 
    } 
} 
    WebElement we_molst=DRIVER_OBJ.findElement(By.linkText("More")); 
      UI_GenericMethods.gmMouseOverAndClik(we_molst); 
      for(int j=0;j<=More_Litd.size()-1;j++){ 
       WebElement we_molist=More_Litd.get(j);  
       UI_GenericMethods.gmMouseOverAndClik(we_molist); 
       Thread.sleep(1000);     
       we_molst=DRIVER_OBJ.findElement(By.linkText("More"));     
       UI_GenericMethods.gmMouseOverAndClik(we_molst);    
       } 
} 
+0

例外は、 "メイン" org.openqa.selenium.WebDriverExceptionは:Elementはポイント(1019年、62.5)でクリック可能ではありません。他の要素はクリックを受け取ります:

(警告:サーバーはスタックトレース情報を提供しませんでした) コマンドの継続時間またはタイムアウト:25ミリ秒 ビルド情報:バージョン: '2.52.0'、リビジョン: '4c2593c'、時刻: '2016 -02-11 19:06:42 ' –

答えて

0

webdriverを例外を提供します。

正しいロケーター戦略を使用してUI_elementをクリックしても、クリックしたい要素がDOM内に存在していてもDOM内の位置が固定されていないためエラーが発生することにご注意ください。スレッド "main"の例外org.openqa.selenium.WebDriverException:要素がポイント(1019,62.5)でクリックできないその他の要素は、クリックを受け取ることになる

のでので、あなたの問題があることであるならば、これは

0

を助け

Thread.sleep(5000); 

希望のような使用DOM内の固定位置を持っているために、そのUI要素にいくつかの時間を与えてください要素が画面からスクロールされる(およびヘッダーバーのようなものの下で結果として)、あなたが戻って、このようなビューにそれをスクロールしてみることができます。

private void scrollToElementAndClick(WebElement element) { 
int yScrollPosition = element.getLocation().getY(); 
js.executeScript("window.scroll(0, " + yScrollPosition + ");"); 
element.click(); } 

あなたは(たとえば、あなたが高く、常に表示さ200pxのあるページヘッダを持っている場合)にもオフセット静的に追加することができます必要がある場合:

public static final int HEADER_OFFSET = 200; 
private void scrollToElementAndClick(WebElement element) { 
int yScrollPosition = element.getLocation().getY() - HEADER-OFFSET; 
js.executeScript("window.scroll(0, " + yScrollPosition + ");"); 
element.click(); 
} 

あなたはJavascriptExecutor(recommandedません)

を使用してクリック指示することができます

WebElement element= driver.findElement(By."Your Locator")); 

JavascriptExecutor executor = (JavascriptExecutor) driver; 
executor.executeScript("arguments[0].click();", element); 
は、それはあなたを助けることを願っています:)スレッドで

+0

ありがとうshubham、 –

+0

アマールあなたは誰の答えを受け入れることはできません...本当にあなたを助けるなら私の右のサインをクリックしてください –