Java Selenium-如何在基于AngularJS的页面中单击没有ID或ng-class的按钮 [英] Java Selenium - How to Click a Button that has no ID or ng-class in AngularJS based page

查看:229
本文介绍了Java Selenium-如何在基于AngularJS的页面中单击没有ID或ng-class的按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的以下代码没有单击按钮并显示错误消息.

The following code I've used is not clicking the button and showing the error message.

WebElement clickNextButton = webDriver.findElement(By.cssSelector("button[ng-class='btn-success']"));
clickNextButton.click();

错误消息显示没有这样的元素:无法找到元素.{"method":"css选择器","selector":"button [ng-class ='btn-success']"}

Error message shows "no such element: Unable to locate element. {"method":"css selector","selector":"button[ng-class='btn-success']"}

我还尝试了以下代码段,但均未成功:

I've also tried the following code segments without success:

  WebElement clickNext1 = webDriver.findElement(By.cssSelector("button[ng-class='pccCTRL.pow.Page1InputsValid() ? 'btn-success' : 'btn-default'']"));
  clickNext1.click();

  •  webDriver.findElement(By.partialLinkText("Next")).click();
    

  •   webDriver.findElement(By.cssSelector("button[type='button']")).click();   
    

  • 以下是屏幕截图,显示了我要尝试操作的按钮的html代码段

    Here is the screenshot showing the html code segment of the button I'm trying to

    希望获得反馈.谢谢.

    推荐答案

    好的,我可以使用By.xpath

    Ok, I was able to solve this issue by using By.xpath

    以下是解决该问题的代码段:

    Here is the code segment that solved it:

    WebElement clickNextButton = webDriver.findElement(By.xpath("//button[contains(text(),'Next')]"));
    
    clickNextButton.click();
    

    这篇关于Java Selenium-如何在基于AngularJS的页面中单击没有ID或ng-class的按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆