我正面临一个由 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 键以选择正确的选项,就好像我正在用键盘导航菜单一样。但是我发送的 Tab 键没有被考虑在内。我能够向菜单发送一个(并且只有一个)DOWN 键(而不是 TAB),但仅此而已。
我该如何操作这种菜单?任何基于 javascript 的解决方法将不胜感激。