Я хочу автоматически выбрать значение из выпадающего меню при загрузке страницы с помощью Greasemonkey.
Вот код выпадающего меню:
<div class="col-sm-9 col-md-9 col-lg-10">
<select name="type" id="type" "="" style="display: none;">
<option value="0"></option>
<option value="something1">Something 1</option>
<option value="something2">Something 2</option>
<option value="something3">Something 3</option>
<option value="something4">Something 4</option>
<option value="something5">Something 5</option>
<option value="something6">Something 6</option>
<option value="something7">Something 7</option>
<option value="something8">Something 8</option>
</select>
<div class="chosen-container chosen-container-single chosen-container-single-nosearch chosen-with-drop chosen-container-active" style="width: 182px;" title="" id="type_chosen">
<a class="chosen-single chosen-default" tabindex="-1">
<span>Faites votre selection</span>
<div>
<b></b></div></a>
<div class="chosen-drop">
<div class="chosen-search">
<input type="text" autocomplete="off" readonly="">
</div>
<ul class="chosen-results">
<li class="active-result" style="" data-option-array-index="1">Something 1</li>
<li class="active-result" style="" data-option-array-index="2">Something 2</li>
<li class="active-result" style="" data-option-array-index="3">Something 3</li>
<li class="active-result" style="" data-option-array-index="4">Something 4</li>
<li class="active-result" style="" data-option-array-index="5">Something 5</li>
<li class="active-result" style="" data-option-array-index="6">Something 6</li>
<li class="active-result" style="" data-option-array-index="7">Something 7</li>
<li class="active-result" style="" data-option-array-index="8">Something 8</li>
</ul>
</div>
</div>
</div>
Итак, скажем, я хочу автоматически выбрать что-то7 (или что-то 7).
У меня есть этот код, который я использую в Greasemonkey для автоматического выбора из выпадающего списка на другом веб-сайте. Я попытался немного поиграть с кодом, но не смог заставить его работать:
// ==UserScript==
// @name Automate
// @match https://example.com
// @require http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
//- The @grant directive is needed to restore the proper sandbox.
waitForKeyElements (".a-center.div-center:has(option[value=3])", selectFinickyDropdown);
function selectFinickyDropdown (jNode) {
var evt = new Event ("click");
jNode[0].dispatchEvent (evt);
jNode.val('3');
evt = new Event ("change");
jNode[0].dispatchEvent (evt);
}