开发者社区> 问答> 正文

页面上的FInd元素

我有这个页面

页面上是元素共享(帖子的左下角):

<button class="btn btn_share" role="dropdown_trigger" data-toggle="dropdown" type="button" title=" Поделиться вопросом" aria-expanded="false">
  <svg class="icon_svg icon_sharing" viewBox="0 0 32 32">
    <use href="5e6a141a/images/sprite.svg#icon_sharing"></use>
  </svg>
</button>

使用[tags:xpath]尝试过,

List<WebElement> elements=driver.findElements(By.xpath("xpath=//div[@class='btn btn_share']/div/div[5]/div/button"));

if (elements == null) {
    System.out.println("sharing no found");
    System.exit(1);
} else {
    for (WebElement element : elements) {
        element.click();
    }
}

并使用类选择。

List<WebElement> elements=driver.findElementsByClassName("btn_share");

if (elements == null) {
    System.out.println("sharing no found");
    System.exit(1);
} else {
    for (WebElement element : elements) {
        element.click();
        TimeUnit.SECONDS.sleep(50);
    }
}

但是没有任何结果。

如何选择一个元素并单击?

问题来源:Stack Overflow

展开
收起
montos 2020-03-23 21:29:19 441 0
1 条回答
写回答
取消 提交回答
  • 使用By.cssSelector具有此值的查找元素:[class*='btn_share']。

    对于验证,您可以使用elements.size()==0not elements == null。

    List<WebElement> elements = driver.findElements(By.cssSelector("[class*='btn_share']"));
    
    if(elements.size()==0) {
        System.out.println("sharing no found");
    }else {
        for(WebElement element: elements) {
            element.click();
        }
    }
    

    CSS选择器参考

    回答来源:Stack Overflow

    2020-03-23 21:30:11
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载