2016-03-19 16 views
3

ブックマークレットのようなものを書いて、クリックで実行して値を自動入力したいと思います。私は特定のオプションを選択した後で非表示のフィールドを表示

document.getElementById('component').value="IAE-Data Agent"; 
document.getElementById('component').onchange(); 

て値を選択することができていますが、それはdisplayes fields.Thisを隠されていません

は私が手動でボックスを選択した後displayesにフィールドを考えている選択ボックスの後のページで書かれたJavaScriptコードです。

showFieldWhen('cf_agents', 
      'component', ['IAE-Data Agent']); 

私はこの機能を実行しようとしましたが、他の多くの方法ではまだそれらのフィールドは表示されません。

手動で選択する前にフィールドが表示された後

<th class="field_label bz_hidden_field" id="field_label_cf_agents"> 
     <label for="cf_agents"> 
     <a title="A custom Free Text field in this installation of Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#cf_agents">Agent Class Name:</a> 
    </label> 
    </th> 

(フィールドが隠されているとき):

<th class="field_label" id="field_label_cf_agents"> 
     <label for="cf_agents"> 
     <a title="A custom Free Text field in this installation of Bugzilla." class="field_help_link" href="page.cgi?id=fields.html#cf_agents">Agent Class Name:</a> 
    </label> 
    </th> 

のみクラスatrribute changes.Iは、多くの方法を試してみましたが、まだthroughtスクリプト私はミリアンペアそれをすることはできません。私はセレンスクリプト

Select dropdown = new Select(driver.findElement(By.id("component"))); 
    dropdown.selectByValue("IAE-Data Agent"); 

を使用していた場合

私は隠しフィールドは、私は、タスクを実行するJavaアプリケーションを実行したくないので、それは現実的ではありませんdisplayed.Butなって見ることができています。

これらのフィールドを表示するために他の方法を試すことができます。javascriptコードを使用しないと、ブックマークレットや他の方法でセレンコードを実行することができます。

+0

私はコードを使用する方法を考えました – Ravi

+0

document.getElementById( 'field_label_cf_agents')。className = "field_value";クラス名を直接変更する – Ravi

+0

あなた自身の問題を解決した場合は、回答を投稿して「同意し」てください - それは将来の世代には明らかです。 –

答えて

0

オプションbox.Iを選択した後、フィールドの変更のクラスの属性は、このコードは、コード

document.getElementById('field_label_cf_agents').className="field_value"; 

を直接使用してきたように、直接クラス名属性を変更し、したがって、フィールドが示されました。

関連する問題