即时通讯使用硒来自动化一些网站。有一种dorpdown给我带来了麻烦,因为它不是本地的,因为他们使用了一些定制设计的。所以我需要将它的css类设置为hidden,以便可以轻松地访问本机类。

这是在我单击它之前:

javascript - 如何使用JavaScript取消选择CSS样式?-LMLPHP

这是之后:

javascript - 如何使用JavaScript取消选择CSS样式?-LMLPHP

所以现在如何使用js自动执行此操作?我尝试了类似的方法,但是没有用:

 var js:JavascriptExecutor = driver.asInstanceOf[JavascriptExecutor]
    js.executeScript("$('.selectpicker select').removeClass('bs-select-hidden')")

谢谢

最佳答案

您使用了错误的CSS选择器:“。selectpicker select”表示“具有selectpicker类的元素的select元素子元素”

您希望select元素具有selectpicker类。

执行此javascript:

$('select.selectpicker').show();

它将在此元素上设置“display:block”,并且将可见。

编辑

来自selectpicker文档(https://silviomoreto.github.io/bootstrap-select/)。
隐藏自定义选择并显示本机。
由于选择具有display:none!important,因此我们需要强制其显示。

有三种方法:
  • 删除使之隐藏的特定类“selectpicker”和“bs-select-hidden”。
    $('select.selectpicker').selectpicker('hide')
                            .removeClass("selectpicker bs-select-hidden");
    
  • 删除所有类(可能会中断布局)
    $('select.selectpicker').selectpicker('hide')
                            .removeClass();
    
  • 强制display:inline-block(用于选择的默认显示值)
    $('select.selectpicker').selectpicker('hide')
                            .css("display","inline-block !important");
    
  • 10-07 21:49