Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Ruby Selenium Не cработает click на выпадающий список

ruby
Теги: #<Tag:0x00007f7b652ba470>

#1

Есть выпадающий список, раскрывается без проблем, выбираю значение - кликаю, нет реакции. Куда смотреть?
Сейчас работаю ruby + SelWet gem.

<div class="input">
<label for="MaritalStatus">Семейное положение</label>
<select id="MaritalStatus" class="empty" name="MaritalStatus" data-val-required="Не указано семейное положение" data-val="true">
<option value="" selected="selected" disabled="disabled">Выберите значение</option>
<option value="NotInMarriage">Не женат(не замужем)</option>
<option value="InMarriage">В браке</option>
<option value="Divorced">В разводе</option>
<option value="CommonLawMarriage">Гражданский брак</option>
<option value="Remarriage">Повторный брак</option>
<option value="Widower">Вдовец(вдова)</option>
</select>
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="MaritalStatus"></span>

(Oleg) #2

кликайте сразу нужный option, не раскрывая списка


#3
<select id="CompanyResidenceRegion" class="empty valid" name="CompanyResidenceRegion" data-val-      required="Укажите регион" data-val-number="The field Регион работы must be a number." data-val="true">
<option value="" selected="selected" disabled="disabled">Выберите значение</option>
<option value="77">Москва г</option>
<option value="50">Московская обл</option>
<option value="78">Санкт-Петербург г</option>
<option value="47">Ленинградская обл</option>
<span class="field-validation-valid" data-valmsg-replace="true" data-valmsg-for="CompanyResidenceRegion">   </span>

тут снова перестает работать стандартный клик, даже по региону сразу, например click ‘[value=“77”]’. Прошлый совет помог.


(Oleg) #4

а что за выражение клику передается, как параметр? если это xpath, то надо перед атрибутом @ добавлять.
я бы так написал:
click "//*[@id = 'CompanyResidenceRegion']/*[@value = '77']"


#5
click '[value="3"]'

самое интересное, что таких option штук 6 и на всех работает клик по значению. в этом случае selenium пишет

18:43:35.211 INFO - Executing: [find element: By.cssSelector: [value="3"]])
18:43:35.216 INFO - Done: [find element: By.cssSelector: [value="3"]]
18:43:35.219 INFO - Executing: [is displayed: 27 [[FirefoxDriver: firefox on WIN
DOWS (cd33a2b3-fb5e-4621-b482-ff7fe55c73ed)] -> css selector: [value="3"]]])
18:43:35.228 INFO - Done: [is displayed: 27 [[FirefoxDriver: firefox on WINDOWS
(cd33a2b3-fb5e-4621-b482-ff7fe55c73ed)] -> css selector: [value="3"]]]
18:43:35.433 INFO - Executing: [find element: By.cssSelector: [value="3"]])
18:43:35.438 INFO - Done: [find element: By.cssSelector: [value="3"]]

#6

#CompanyResidenceRegion [value=“50”]’
работает. спасибо за помощь