1

watir-webdriver を使用して選択リストからオプションを選択しようとしています。

watir-webdriver gem バージョン: 0.6.4 Ruby 1.9.3 on mac osx lion

選択リストの HTML:

<select id="cc.expiryMonth" name="cc.expiryMonth">
<option value="0">Month</option>
<option value="1">01</option>
<option value="2">02</option>
<option value="3">03</option>
<option value="4">04</option>
<option value="5">05</option>
<option value="6">06</option>
<option value="7">07</option>
<option value="8">08</option>
<option value="9">09</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</select>

私が使用したコードは

@browser.select_list(:name => "cc.expiryMonth").options[4].select

エラーが発生しています

Element is not currently visible and so may not be interacted with (Selenium::WebDriver::Error::ElementNotVisibleError)
  [remote server] file:///var/folders/_c/j__zdvw93gqgyyvzwmmgtwwr0000gn/T/webdriver-profile20130620-1023-1s8kag6/extensions/fxdriver@googlecode.com/components/command_processor.js:7736:in `fxdriver.preconditions.visible'
  [remote server] file:///var/folders/_c/j__zdvw93gqgyyvzwmmgtwwr0000gn/T/webdriver-profile20130620-1023-1s8kag6/extensions/fxdriver@googlecode.com/components/command_processor.js:10437:in `DelayedCommand.prototype.checkPreconditions_'
  [remote server] file:///var/folders/_c/j__zdvw93gqgyyvzwmmgtwwr0000gn/T/webdriver-profile20130620-1023-1s8kag6/extensions/fxdriver@googlecode.com/components/command_processor.js:10456:in `DelayedCommand.prototype.executeInternal_/h'
  [remote server] file:///var/folders/_c/j__zdvw93gqgyyvzwmmgtwwr0000gn/T/webdriver-profile20130620-1023-1s8kag6/extensions/fxdriver@googlecode.com/components/command_processor.js:10461:in `DelayedCommand.prototype.executeInternal_'
  [remote server] file:///var/folders/_c/j__zdvw93gqgyyvzwmmgtwwr0000gn/T/webdriver-profile20130620-1023-1s8kag6/extensions/fxdriver@googlecode.com/components/command_processor.js:10401:in `DelayedCommand.prototype.execute/<'
  ./features/step_definitions/Wotif_FlightSearch_DOM_steps.rb:145:in `/^I enter all details on booking page$/'

gem ライブラリの watir-webdriver コードを調べて、オプションを選択するすべての方法を試してみましたが、すべて同じエラーがスローされました。

@browser.select_list(:name => "cc.expiryMonth").focus

成功しましたが、オプションを選択すると、要素が表示されないというエラーがスローされます。send_keys も失敗しました。これを処理する方法についての提案をいただければ幸いです

アップデート:

@browser.select_list(:name => "cc.expiryMonth").options[8].value

値を返しますが、

@browser.select_list(:name => "cc.expiryMonth").options[8].select

また

@browser.select_list(:name => "cc.expiryMonth").select @browser.select_list(:name => "cc.expiryMonth").options[8].value returns element not found error    
4

4 に答える 4

0

これを試しましたか:

@browser.select_list(:name => "cc.expiryMonth").select '04'

あるいは

b = Watir::Browser.start 'bit.ly/watir-webdriver-demo'
s = b.select_list :name => 'cc.expiryMonth'
s.select '04'
s.selected_options

どうしたの?

于 2013-06-20T12:48:06.097 に答える
-2

javascriptを使用して選択リストのオプションを選択することを提案するstackoverflowに関する他の質問の1つに従うことで、最終的に問題を解決することができました。

于 2013-06-25T12:12:56.457 に答える