2011-07-06 17 views
1

私は非常に奇妙な問題があります。セレンを使用して、私は簡単なWebボットを書き、データをページに埋め込み、Theamと収穫結果を提出します。Selenium WebDriver Firefox Java - オプションを選択できません

すべてのフォームに問題はありませんが、私は最初に郵便番号を入力する必要がありますが、AJAXのすべての可能性をリストするには、propriateオプションを選択するよりも1)。

しかし、私の問題は、私はそれを選択できません。私は郵便番号を記入し、オプションリスト自体をクリックし、 "選択してください"というメッセージを選択してください。私はoption.click()を試しました、selectByVisibleText()、さらには非推奨のsetSelected()を試しました。毎回何も起こりません。私がFFで見るのは、オプションのドロップダウンリストで、最初にbeeingがマークされていますが、それだけです。私は運が全くない、多くの方法を試しました。

私の最後の試みのコードがあります:場合

ZIPCode = driver.findElement(By.id("formparam_data2_zip")); //get and fill ZIP 
ZIPCode.sendKeys(ZIP); 
address = driver.findElement(By.name("formparam_data2_zip_id")); // click to fire AJAX 
address.click(); 
(new WebDriverWait(driver, 20)).until(new ExpectedCondition<Boolean>() { 
public Boolean apply(WebDriver d) {     // wait until AJAX shows results 
WebElement elm = d.findElement(By.id("formparam_data2_zip_id")); 
List<WebElement> options = elm.findElements(By.tagName("option")); 
for(WebElement w : options){ 
if(w.getText() != "Prosím, vyberte."){ 
return true; 
}} 
return false; 
}}); 
List<WebElement> options = address.findElements(By.tagName("option")); 
options.get(0).click(); // click first option - ! this failes ! 
phaseTwoBtn = driver.findElement(By.id("formparam_data2_next")); // than submit... 
phaseTwoBtn.submit(); 

答えて

0

thisスレッドを見てください...

+0

おかげ可視ウィンドウであることを確認しますが、私はすべて私がcan'、それらをしても、すべてのオプションの値を取得することができていますマーク実際に選択したオプションになるようにそれらを選択しています... –

0

この

を試してみてください{ リターン真;(w.getText()等号( "Prosím、vyberte。")!)。我々はセレンでこの問題を解決することができ、キーボードのキーを使用して }

+0

おかげでなく、変化がない... –

0

上記の例で、ZIPCode.sendkeys(ZIP)用webdriverを.CODE; ZIPCode.sendkeys( Keys.Tab); ZIPCode.sendkeys(Keys.Return);

1

同様の問題があり、Actionsクラスを使用してより良い結果を得てから、moveToElement()メソッドをクリックする前に必ず使用するようにしてください。

Actions builder = new Actions(d); 


builder.moveToElement(options.get(0))); 
builder.click(); 
builder.build().perform(); 

moveToElement方法は、要素が

関連する問題