-1

少し助けが必要です。私はウェブサイトhttp://zara.comで自動テストを実行しようとしています。言語ドロップダウンから言語を選択したいと思います。セレン - ドロップダウンから選択しようとしたときに発生する

これはZaraのHTMLコードです。 https://prntscr.com/g6hdiv

これは私がのIntelliJ

public class RegistrationTest { 

WebDriver driver; 

    @Before 
    public void setUp(){ 
     driver = new FirefoxDriver(); 
     driver.get("http://zara.com"); 
     driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

    } 
    @After 
    public void tearDown(){ 
     driver.quit(); 
    } 

    @Test 
    public void test(){ 

     WebElement languageDropdown = driver.findElement(By.id("language")); 
     Select selectLanguage = new Select(languageDropdown); 
     selectLanguage.selectByValue("en"); 
    } 

} 

中のセレン2.53で試したコードである私はいつも、私は異なる設定で試してみたが、それはうまくいきませんでした場合でも、下のエラーが表示されます。

org.openqa.selenium.ElementNotVisibleException:要素が現在表示されていないので、あなたは私が間違っているのを教えてもらえ

と相互作用することはできませんか?

ヘルプを評価してください。

+0

エラーは、ページにドロップダウンがないことを意味します。テストを実行するときにドロップダウンが表示されるかどうかを確認できますか? –

+0

開発者が意図したように、要素がページに表示されないようですが、言語を選択するための他の手段を使用する必要があります。 – lauda

+0

テストを実行するとドロップダウンが表示されません。他のページで別のドロップダウンを選択しようとすると動作しますが、これでは動作しません。どのように試してみるべきですか? – Andrei

答えて

0

要素は、現在表示されていないので、要素が現在のビューポートにあるようにあなたは、ページをスクロールする必要が

と相互作用することはできません。このようなもの:

WebElement languageDropdown = driver.findElement(By.id("language")); 
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);", languageDropdown); 
Select selectLanguage = new Select(languageDropdown); 
selectLanguage.selectByValue("en"); 
+0

上記を試しましたが、まだ動作しません。同じエラーメッセージです。なぜそれが見えないのか分かりません。要素。 – Andrei

関連する問題