Greasemonkey-从页面加载的下拉菜单中自动选择值

时间:2020-05-02 19:43:10

标签: javascript jquery dropdown greasemonkey

我想使用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>

因此,假设我要自动选择something7(或Something 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);
}

0 个答案:

没有答案