RubyとSeleniumWebDriverを使用してWebページの自動化を作成していますが、標準のHTMLではなくJavaScriptを使用して作成されたサイトのドロップダウンの一部でブロッキングの問題が発生しました。これらのドロップダウンでは、ユーザーはドロップダウンからオプションを選択するか、それをクリックして入力を開始し、入力内容に基づいて結果をフィルタリングできます(これらのドロップダウンは潜在的に非常に長いリスト用であると思いますオプション)。
問題は、以下のコードを使用してSelenium IDEで動作させることができたにもかかわらず、WebDriverを使用してそれらと対話する方法を理解できないことですが、このIDEスクリプトをRubyにエクスポートしても機能しません。
<tr>
<td>select</td>
<td>css=select[name=dsref]</td>
<td>demo</td>
</tr>
私が使用しているWebDriverコードは次のとおりです。
def clickOn (parameters = {})
# This will accept a locator type and name to click on
#
# EXAMPLE
#
# clickOn(
# locatorType: :link,
# locatorName: 'Home'
# )
#
# This will click on the link named 'Home'
locatorType = parameters[:locatorType]
locatorName = parameters[:locatorName]
$driver.find_element(locatorType, locatorName).click
end
clickOn(
locatorType: :xpath,
locatorName: '/html/body/form/fieldset[4]/div[2]/div/div/div/a/span'
)
次に、非表示の値フィールドのxpathを使用して同じ方法でドロップダウンから選択範囲を見つけようとしましたが、非表示の値を見つけることができません。
私が操作しようとしているJavaScriptは次のとおりです。
<div id="tabWarehousing" class="cansee">
<div class="lineFirst">
<div class="of8">
<label for="formdsref">Warehouse</label>
<br>
<select id="sel2DZ" class="admn_dropdownmenu chzn-done" size="1" name="dsref" style="display: none;">
chosen=Chosen { form_field=select#sel2DZ.admn_dropdownmenu, options= {...}, active_field=
true
, more...}
<option selected="" value=""></option>
<option value="demo">demo</option>
<option value="demodownload">demo download</option>
</select>
<div id="sel2DZ_chzn" class="chzn-container chzn-container-single chzn-container-single- nosearch" style="width: 115px;">
<a class="chzn-single" tabindex="-1" href="javascript:void(0)"> <span>demo</span>
<div>
<b></b>
</div>
</a>
<div class="chzn-drop" style="left: -9000px; width: 113px; top: 18px;">
<div class="chzn-search">
<input type="text" autocomplete="off" style="width: 78px;">
</div>
<ul class="chzn-results">
<li id="sel2DZ_chzn_o_1" class="active-result result-selected" style="">demo</li>
<li id="sel2DZ_chzn_o_2" class="active-result" style="">demo download</li>
</ul>
</div>
</div>
</div>
Ruby WebDriverを使用してこのドロップダウンの値を設定する方法についてのアイデアはありますか?