Greasemonkey - автоматический выбор значения из выпадающего меню при загрузке страницы - PullRequest
0 голосов
/ 02 мая 2020

Я хочу автоматически выбрать значение из выпадающего меню при загрузке страницы с помощью 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);
}
...