1

私の検索ページには、入力ボックスと「実行」ボタンのあるリストがあります。コンソールにリスト値を取得しましたが、リストを繰り返し、入力ボックスにテキスト(テキストは静的)を入力する必要があります。リストが選択されるたびに、「実行」ボタンを押す必要はなく、自動的に検索されます。

WebElement search_list = driver.findElement(By.xpath("//*[@id='tl_tPlace']"));   
List <WebElement> li = search_list.findElements(By.tagName("option"));  
for(int i =0; i<li.size();i++){     
System.out.println(li.get(i).click());    
try{    
driver.findElement(By.xpath("//*@id='cmain_Place']")).sendKeys("text");

これで、リストが初めて「状態の選択」を行うと、2番目のループに渡され、リスト項目が選択されます。選択すると、ページがリロードされます。次に、エラーメッセージがあります。

Exception in thread "main" org.openqa.selenium.StaleElementReferenceException: Element not found in the cache - perhaps the page has changed since it was looked up
4

1 に答える 1

0

ページが更新されるとDOMが完全に再作成されるため、これは完全に予想される動作です。したがって、要素への参照は、ページが更新された後に無効になります。

于 2012-07-10T14:19:09.310 に答える