2016-08-29 1 views
0

のドロップダウンを見つけることができません要素を確実に選択することができないようです。これは私がデバッグしている時の100%の時間で動作しますが、接続されたデバッガなしで実行すると、時間の約2/3は失敗します。ここでは、コードは次のとおりです。セレンドライバ(Chromeが)ダウンメニューホバードロップからの要素を使用しようとしたとき、私は、私は、しかし、様々な現場環境にカップルのテストを実行するセレンクロムのドライバーを使用していホバー要素

private void prepWindow(WebDriver driver, boolean isNightly, String toClick) { 
    WebDriverWait wait = new WebDriverWait(driver, 300); 

    try { 
     if (isNightly) { 
      WebElement nightlyPopup = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id(BOWebElements.nightlyPopup))); 
      nightlyPopup.click(); 
     } 
    } catch (Exception e) { 
     JOptionPane.showMessageDialog(null, "Nightly popup has changed names again.", "Error", JOptionPane.ERROR_MESSAGE); 
    } 

    WebElement user = wait.until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Users"))); 
    Actions action = new Actions(driver); 

    action.moveToElement(user).build().perform(); //Makes hover drop down appear 
    driver.findElement(By.id(toClick)).click(); //Should click element that is only visible when hover drop down is open 
} 

私はまた、上記と同じコードが同僚のコンピュータ上のデバッガを使用せずに完璧に動作しますが、私自身ではないことに注意してください。

私は、XPathを使用したいが、残念ながらドロップの要素がダウンし、実際に私は、ドロップダウンを開くために上にマウスを移動しなければならないリンクの子ではありません。 XPathを使用して要素に直接ナビゲートしようとすると、XPathが無効であるというエラーが表示されます。潜在的なXPathの1つは次のとおりです。

//html/body/#outTemplateId/#preambleFormId/#globalNavigation/#navBGC/#navBGCmainMM/ul/li/ul/table/tbody/tr/td/ul.ui-menu-list.ui-helper-reset/li.ui-menuitem.ui-widget.ui-corner-all/a#fleetUsersId2.ui-menuitem-link.ui-corner-all.submenu 

どのように動作を一貫させることができますか?一緒にあなたの行動がより良いユーザーが発生するアクションをエミュレートする

+0

あなたはこの最後の行 'ドライバを変更する必要があります.findElement(By.id(toClick)))(クリックしてください。。。 '' wait.until(ExpectedConditions.elementToBeClickable(By.id(toClick))))は(クリック; '..thisは毎回 –

+0

仕事だろう@ SaurabhGaur同じエラー/結果。 –

答えて

1

チェーン:

action.moveToElement(user).moveToElement(driver.findElement(By.id(toClick))).click().build().perform();

は、詳細については、この質問をチェックアウト: https://stackoverflow.com/a/17294390/3537915

関連する問題

 関連する問題