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

How to manipulate a dropdown menu made of ul and li elements in 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>

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

.evaluate((dropDownValue) => {
    select = document.querySelector('select#category1')
    select.value = dropDownValue
}, dropDownValue)

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

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

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

如何操作这种菜单?任何基于 javascript 的解决方法将不胜感激。

最后找到了方法

使用 .focus(#CSSselector) 命令突出显示正确的选项,然后使用 .press(13)(回车键)进行验证。

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