2016-05-24 8 views
0

選択情報を抽出してコンソールに出力したいが、すでにあらゆる方法で試したが、セレニウムは要素を見つけることができず、暗黙的かつ明示的に待機していた。 、まだできません。Java + Selenium WebDriverでselectのオプションを抽出する

<form style="display:inline" name="productForm" action="lib/general/navBar.php" method="get"> 

         <input type="hidden" name="CSRFName" value="CSRFGuard_1364551223"> 

         <input type="hidden" name="CSRFToken" value="19838e996a1a94dc508c12fab4ee5c845e4"> Projeto de Teste 
    <select style="font-size: 80%;position:relative; top:-1px;" name="testproject" onchange="this.form.submit();"> 
      <option value="470258" title="Criação de Nova Faixa de Planos Pós PF - 106227 "> 
      Criação de Nova Faixa de Planos...</option> 
     <option value="469505" title="Limite de Utilização Diferente para Cliente Base que Migrou para Combo Multi - 105942" selected="selected"> 
      Limite de Utilização Diferente...</option> 
     <option value="469489" title="Campanha 0500 Gente Especial 2016 - 106185"> 
      Campanha 0500 Gente Especial...</option> 
     <option value="469477" title="Teste CTC 2016 - 33333333"> 
      Teste CTC 2016 - 33333333</option> 

    </select> 

+0

私は推測してみましょう - 'form'は、iframeの内部にありますか? – alecxe

+0

システムはTestLinkであり、iframe内のこのceretzaです。 –

答えて

2

要素がiframeの内部にある場合は、その中の要素を見つけることができるようにiframeの文脈の中でする必要があります。中に入ると、Selectクラスのインスタンスをインスタンス化し、getOptions()方法を使用してオプションを取得、(例えば、名前による)select要素を見つける:

driver.switchTo().frame("frame_name_or_id"); 

Select select = Select(driver.findElement(By.name("testproject"))); 
List<WebElement> options = select.getOptions(); 

for (WebElement option : options) { 
    System.out.println(option.getText()); 
} 
関連する問題