Ответ 1
В соответствии с этот пост, это работает:
.click('#myselectbox option[value=somevalue]')
Я пытаюсь использовать nightwatch.js для выбора опции из окна выбора.
У меня есть код:
this.browser.click('select[name="month"]')
.pause(1000)
.click('option[value="3"]')
.click('select[name="day"]')
.pause(1000)
.click('option[value="6"]')
.click('select[name="year"]')
.pause(1000)
.click('option[value="1989"]');
Он выбирает правильный месяц, год на странице, но не день. Здесь HTML для окна выбора для дня:
<select aria-label="Day" id="day" name="day" data-validatorGroup="bday" data-component="selectbox">
<option selected="selected" value="" aria-label="Date of birth">
Day</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
<option value="23">23</option>
<option value="24">24</option>
<option value="25">25</option>
<option value="26">26</option>
<option value="27">27</option>
<option value="28">28</option>
<option value="29">29</option>
<option value="30">30</option>
<option value="31">31</option>
</select>
Кто-нибудь знает, почему он не выбирает правильный день?
В соответствии с этот пост, это работает:
.click('#myselectbox option[value=somevalue]')
Следующий синтаксис кажется более надежным:
.click('select[id="myselectbox"] option[value="somevalue"]')
Вы можете попробовать следующее, оно работает для меня.
<option value="2">2</option>
...
.setValue('select[id="day"]','2')
если у вас другое значение, чем текст в вашей опции
например. <option value="123">abc</option>
Вы выполняете .setValue ('select[id="yourselectid"]','abc')
Если вы хотите использовать объект страницы, вам необходимо использовать обратный вызов.
sectionInfo.click("@selectOwner",()=>{
sectionInfo.click("option[value='owner']");
});