想要使用selenium webdriver代码单击下拉按钮

时间:2017-03-23 10:59:41

标签: java selenium selenium-webdriver

我想使用selenium webdriver代码单击下拉按钮。 HTML如下:

<div class="btn-group bootstrap-select show-tick ua-bo-select" style="width: 222px;">
<button class="btn dropdown-toggle bs-placeholder btn-default" role="button" data-toggle="dropdown" type="button" data-id="invContactList" title="" data-original-title="Nothing selected">

准确的代码是什么?

请检查我的应用程序正在使用的下拉按钮

2 个答案:

答案 0 :(得分:0)

这个HTML中没有'a'Tag。因此使用Select将无效。而是这样做:

class DataViewSet(viewsets.ModelViewSet):
def get_serializer_class(self):

      if self.action in ['list',]:
            return GetSerializer
      elif self.action in ['update','partial_update',]:
            return PutPostSerializer
      return DefaultSerializer

然后监视下拉值并给出另一个xpath或ID。它会工作。

我认为您提供的xpath是错误的。请尝试以上或以下:

driver.findElement(By.xpath(".//button[@data-toggle='dropdown']")).Click();

答案 1 :(得分:0)

使用xpath定位器尝试以下任何一种代码。

说明:使用data-id标记的<button>属性。

driver.findElement(By.xpath(".//button[@data-id='invContactList']")).Click();
  

OR

说明:使用data-original-title标记的<button>属性。

driver.findElement(By.xpath("//button[@data-original-title='Nothing selected']")).Click();
  

OR

说明:使用data-toggle标记的<button>属性。

driver.findElement(By.xpath("//button[@data-toggle='dropdown']")).Click();