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的解决方法将不胜感激.
我最终找到了一种方法.
使用.focus(#CSSselector)命令突出显示正确的选项,然后使用.press(13)(Enter键)进行修改.
这是第三种操作chromeless下拉菜单的方法