0

自動提案ボックスに ExplicitWait を使用しようとしましたが、機能しなかったため、 simple を使用していますThread.sleep(5000):

/***************************************************************************************/ 
                                // The below Thread.sleep(5000) works fine 
                        //                    Thread.sleep(5000); 

        // However the below Explicit Wait block does not recognize the element
                        WebDriverWait wait5000 = new WebDriverWait(driver, 0);
                        wait5000.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@class='auto_suggest']/*[@class='title_item']")));
    /***************************************************************************************/    


                        WebElement firstItem = driver.findElement(By.xpath("//*[@class='auto_suggest']/*[@class='title_item']"));
                        firstItem.click();
                          System.out.println("Done!");

                }

            }

使えますThread.sleep(5000)が、時間のロスがあり効率的ではありません。自動提案ボックスを明示的に待機させる方法はありますか? 自動提案ボックスをより効率的にクリックするにはどうすればよいですか?

4

1 に答える 1

2

コンストラクターの 2 番目のパラメーターは、ミリ秒単位のタイムアウトです。

ここでWebDriverWait wait5000 = new WebDriverWait(driver, 0);渡して0 います - 要素を見つけるために最大0ミリ秒を与えています。タイムアウトを増やしてみてください。たとえば、要素を最大 5 秒間検索させます。

WebDriverWait wait5000 = new WebDriverWait(driver, 5000);
于 2013-08-26T05:20:06.790 に答える