如何操作由Chromeless中的ul和li元素组成的下拉菜单

Sul*_*lli 8 javascript chromeless

我正面对一个由ul和li元素组成的下拉菜单:

<ul class="o_dropdown_theme_values">
    <li class="" tabindex="-1">
        <label class="myclass" tabindex="0">Category 1</label>
    </li>
    <li class="" tabindex="-1">
        <label class="myclass" tabindex="0">Category 2</label>
    </li>
    ...
</ul>
Run Code Online (Sandbox Code Playgroud)

我知道使用Chromeless修改下拉菜单的两种方法:

.evaluate((dropDownValue) => {
    select = document.querySelector('select#category1')
    select.value = dropDownValue
}, dropDownValue)
Run Code Online (Sandbox Code Playgroud)

.click('#id') 
.type("first letters of option", '#id') 
.click('#id option[value="'+dropDownValue+'"]') 
Run Code Online (Sandbox Code Playgroud)

但由于ul和li菜单的结构,我无法使用这些.

我还尝试单击菜单,然后根据需要多次按Tab键选择正确的选项,就像我用键盘导航菜单一样.但是我发送的Tab键不会被考虑在内.我能够向菜单发送一个(并且只有一个)DOWN键(而不是TAB),但仅此而已.

我怎么能操纵这种菜单?任何基于JavaScript的解决方法将不胜感激.

Sul*_*lli 5

我最终找到了一种方法.

使用.focus(#CSSselector)命令突出显示正确的选项,然后使用.press(13)(Enter键)进行修改.

这是第三种操作chromeless下拉菜单的方法