2017-02-08 10 views
1

ドロップダウン要素は表示されませんが、有効になっています。ドロップダウン要素はSelenium TestNGを使用して表示されません

私はすべてを試しましたが、オプションがありません。助けてください。私の目標は、文字列を入力するテキストフィールドを表示するドロップダウンをクリックすることです。

コードスニペット:

if(driver.findElements(By.xpath("//*[@id='s2id_autogen3']"))!= null){ 
     System.out.println("Element is Present"); 
    }else{ 
     System.out.println("Element is Absent"); 
    } 

    if(driver.findElement(By.xpath("//*[@id='s2id_autogen3']")).isDisplayed()){ 
     System.out.println("Element is Visible"); 
    }else{ 
     System.out.println("Element is InVisible"); 
    } 

    if(driver.findElement(By.xpath("//*[@id='s2id_autogen3']")).isEnabled()){ 
     System.out.println("Element is Enable"); 
    }else{ 
     System.out.println("Element is Disabled"); 
    } 

出力:

要素は 要素が 要素は、あなたがwebdriverをがの視界まで待つことができます

enter image description here

+0

ページが完全に読み込まれるのを待っていますか?親divには次の属性があります: 'data-bind =" visible:CanSelectBroker()&&!IsLoadingBrokers() "'これらの関数の値は何ですか?それと関係があるかもしれません。 – becixb

+0

'driver.findElements(By.xpath(" // * [@ id = 's2id_autogen3'] "))!} = 's2id_autogen3'] "))。size()!= 0'を最初の** if文で使用し、出力を共有しますか? – Mahipal

+0

Mahipal、出力はまだですElement is Present –

答えて

0

を有効にしている目に見えない存在し、必要なドロップダウンをクリックしてください。それはあなたの問題を解決するかどうかを、次のことを試してみて、私に知らせてください:上記のコードで

WebDriverWait wait = new WebDriverWait(driver, 60); 
wait.until(
      ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='s2id_autogen3']"))); 

、webdriverをが見えるようになるために必要なダウンドロップのために最大60秒待ちます。 60秒後でもドロップダウンが表示されない場合、タイムアウトエラーが発生して失敗します。

+0

Mahipalに感謝します。私は3回試して、それは常に動作します。 –

+0

素晴らしい。どういたしまして。あなたが私の答えを受け入れ、有用であり、あなたの問題を解決した場合は、それを有用とマークできますか? – Mahipal

0

Mahipalの回答がうまくいきます。他の理由がフレームかもしれません。ドロップダウンがフレーム内にないことを確認します。

+2

コメントがあります – NarendraR

+0

ありがとうNarendra .. btw私はちょうどstackoverflowに答えるようになった。私は同じことを今後も続けます。 –

関連する問題