答案 0 :(得分:3)
您的下拉菜单是css的模拟下拉菜单,而不是HTML原生下拉菜单:Select
。因此,您无法将其作为本机下拉菜单运行。
在查看下拉列表的HTML代码后,会有一个嵌入式本机下拉列表,但无论您是否扩展选项,它始终都是不可见的。 Selenium无法对隐形元素进行操作(但您可以从中读取值/属性),这就是您遇到的异常的原因。
实际上所有选项都来自div class="menu"
,因此您应该点击div class="menu"
中的选项,如下面的屏幕截图所示:
解决问题的代码:
// click arrow down to expand options
driver.findElement(By.cssSelector("select[name='skills'] + i")).click();
// choose option: Angular
driver.findElement(By.xpath("//div[contains(@class, 'multiple')][select[@name='skills']]//div[.='Angular']"));