为什么我的Selenium Web驱动程序没有单击由id标识的元素?

时间:2016-09-02 11:23:05

标签: selenium drop-down-menu automation treenode

我的Selenium网络驱动程序未点击此树节点。我不确切地知道我们说它是树节点还是别的什么,所以这是图像,我突出了元素。

enter image description here

我要点击的右箭头部分

这是我的代码:

//wait.until(ExpectedConditions.elementToBeClickable(By.id("iconDiv"))); 
WebElement taskdropElementid = driver.findElement(By.id("iconDiv"));
System.out.println(taskdropElementid.getAttribute("class"));
if(taskdropElementid.getAttribute("class").equals("RightArrow")) 
  taskdropElementid.click();

打印声明给我输出下拉列表。我认为它应该给RightArrow,当我取消注释等待部分时,它会持续等待元素被点击。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

  

打印声明给我输出下拉列表

这意味着有多个元素具有相同的ID iconDiv,不幸的是,您正在找到其他元素,而不是具有类名dropdown

如果要查找类名为RightArrow的元素,您应该尝试使用By.cssSelector()进行唯一定位,如下所示: -

WebElement taskdropElementid = driver.findElement(By.cssSelector("div#iconDiv.RightArrow"));
taskdropElementid.click();