Сайт в вопрос: http://gis.nyc.gov/doitt/nycitymap/template?applicationName=ZOLAИспользование Watir для управления динамическим веб-интерфейсов
Текущий код:
$browser = Watir::Browser.new
$browser.goto "http://gis.nyc.gov/doitt/nycitymap/template?applicationName=ZOLA"
$browser.span(:id, "zolaDisclaimerButton").when_present.click
$browser.span(:id, "dijit_layout_ContentPane_0_button_title").click
выше будет перемещаться к месту, принять отказ от ответственности, и нажмите на кнопку «Поиск для местоположения " справа. На странице есть раскрывающийся список в виде выпадающего списка, и мне нужно выбрать что-то другое, кроме значения по умолчанию. Поскольку это не избранный список, я не могу использовать select_list (blahblah) .select («текст»). Как я могу манипулировать этим типом кода?
раздел сайта выглядит следующим образом:
<div title="Search Type"><div id="widget_wm_widget_SimpleSelect_0" class="dijit dijitReset dijitInlineTable dijitLeft formField dijitTextBox dijitComboBox" lang="" wairole="combobox" dojoattachpoint="comboNode" role="combobox" dir="ltr" style="vertical-align: baseline ! important;" widgetid="wm_widget_SimpleSelect_0" aria-expanded="false"><div class="dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer" dojoattachevent="onmousedown:_onArrowMouseDown" wairole="presentation" role="presentation" dojoattachpoint="downArrowNode"><input class="dijitReset dijitInputField dijitArrowButtonInner" type="text" wairole="presentation" readonly="" tabindex="-1" value="▼ " role="presentation"></input></div><div class="dijitReset dijitValidationContainer"><input class="dijitReset dijitInputField dijitValidationIcon dijitValidationInner" type="text" wairole="presentation" readonly="" tabindex="-1" value="Χ " role="presentation"></input></div><div class="dijitReset dijitInputField dijitInputContainer"><input id="wm_widget_SimpleSelect_0" class="dijitReset dijitInputInner" type="text" waistate="haspopup-true,autocomplete-list" wairole="textbox" dojoattachpoint="textbox,focusNode" dojoattachevent="onkeypress:_onKeyPress,compositionend" autocomplete="off" role="textbox" aria-haspopup="true" aria-autocomplete="list" aria-invalid="false" tabindex="0" aria-required="true" value="Address" aria-owns="wm_widget_SimpleSelect_0_popup"></input></div></div><br></br><img class="wmHorizontalLine" src="/doitt/webmap/js/dojo/resources/blank.gif"></img></div></div>
(взяты из Firefox»Web Developer, может быть eaiser читать, таким же способом)
Oh awesome okay! Вы случайно знаете, как получить DOM? В firefox сложно управлять, поскольку по умолчанию ничего не расширяется, и поиск не работает так хорошо. – tic
@tic: В вашем случае выше, это довольно сложно, я считаю. Потому что выпадение становится невидимым после потери фокуса. Поэтому мне пришлось наблюдать выделенную панель DOM. Однако в большинстве случаев Firebug в порядке. –
Спасибо за ответ и разъяснение. Firebug работает намного лучше, чем встроенный инструмент веб-разработчика FF. Однако с предоставленным кодом я не мог заставить его работать - список никогда не появляется из первой строки. Пожалуйста, порекомендуйте. – tic