2017-11-15 28 views
0

Javaを使用してSelenium Webdriverを使用していくつかのコードを実装しようとしています。ドロップダウンに表示される値をクリックまたは選択できません

基本的には、テキストボックス付きのウェブサイトがあります。ユーザーが最初の文字を入力すると、その値に基づいて(AJAXを使用して)値が表示されます。特定の値を選択する必要があります。これはsendキーで言及しました。

WebElement fromCity = driver.findElement(By.id("pickUpLocation")); 
fromCity.sendKeys("A Ma Temple/媽閣"); 

Thread.sleep(2000); 

WebElement ajaxContainer1 = driver.findElement(By.className("txt-box ng-touched ng-dirty ng-valid")); 
WebElement ajaxHolder1 = ajaxContainer1.findElement(By.tagName("ul")); 
List<WebElement> ajaxValues1 = ajaxHolder1.findElements(By.tagName("li")); 

for (WebElement value1 : ajaxValues1) { 
    if (value1.getText().equals("A Ma Temple ")) { 
     ((WebElement)ajaxValues1).click(); 
     break; 
    } 
} 
+0

あなたはどこにいらっしゃいますか?何かエラーがありますか?どの行?エラーは何を言いますか?完全なエラースタックトレースと関連するHTMLで質問を更新してください。 – DebanjanB

+0

ドロップダウンに表示される値をクリックまたは選択できません – karthick

+0

'((WebElement)ajaxValues1).click();'をvalue1.click();に変更します –

答えて

0

あなたはkeys.your Ajaxの値を送信した後は、あなたに関連するボックスに取り出す必要のあるテキストをに.get search.Youが完全に取得box.andあなたはループのために行っているとして、それぞれ1を取得する必要がありますキーワードあなたの予想されるテキストと比較し、この条件が真であるところをクリックしてください。 thread.sleep()の前の行は何ですか

0

私はインデックスを選択してみることができると思います。この

List<WebElement> ajaxValues1 = ajaxHolder1.findElements(By.tagName("li")); 
Select dropdown= new Select(ajaxValues1); 
dropdown.selectByIndex(0); 
dropdown.selectByIndex(1); 
dropdown.selectByIndex(2); 

0ドロップダウンの最初の要素を表すようにそれがあるべきです。その要素のインデックス番号に基づいて、対応する数値をselectByIndex(0)に送ります。

これが役立つかどうか教えてください。ありがとう

+0

申し訳ありませんが、まだ私はそれを行うことができません – karthick

関連する問題