2016-08-09 9 views
3

選択したアイテムのロケータから次のドロップダウンアイテムを選択することができませんでした。私の意図は、ドロップダウンで異なる言語のサイトをテストすることです。キーボードの下矢印を送信すると、ドロップダウンのスクロールバーがアクティブになります。誰でもこれを助けてくれますか?JavaによるSelenium - ドロップダウンのループを作成できません

driver.findElement(By.xpath(".//*[@id='trigger']/div/paper-input/paper-input-container")).click(); 
    Thread.sleep(1000); 
    driver.findElement(By.xpath(".//*[@id='langList']//paper-item//.[@tabindex=\"0\"]")).click(); 
    Thread.sleep(1000); 
    driver.findElement(By.xpath(".//*[@id='langList']//paper-item//.[@tabindex=\"0\"]")).sendKeys(Keys.ENTER, Keys.ARROW_DOWN); 

答えて

2

私はいくつかの例を書くつもりが、デイブHaeffnerはすでに彼の元素セレンシリーズでこれを覆っていた思い出しました。

あなたはここにいるの偉大な書き込みアップを見つけることができます。 How To Select from a Dropdown in Selenium

を私はしかし、一つのことに言及します。あなたは暗黙の待ち(Thread.sleep())を決して使用しないようにすべきです。彼らはよく扱われなければ、明確な例外エラーを出しませんし、テストを大幅に遅くします。待っているものを特定し、明示的な待機を作成します。それらの作成に関する詳細が必要な場合は、さらに詳しく説明します。

1

ありがとうございます。それは今すぐ次のコードで動作します:

driver.findElement(By.xpath(".//*[@id='trigger']/div/paper-input/paper-input-container")).click(); 
    Thread.sleep(1000); 
    driver.findElement(By.cssSelector(".style-scope.making-language-selector.iron-selected.x-scope.paper-item-0")).click(); 

    driver.findElement(By.cssSelector(".style-scope.making-language-selector.iron-selected.x-scope.paper-item-0")).sendKeys(Keys.ARROW_DOWN, Keys.ENTER); 
+1

StackOverflowは本当に50より低いコメントを追加するのに必要な担当者を変更する必要があります。 – Ant

関連する問題