当前位置: 首页 > 面试题库 >

Java Selenium-如何在基于AngularJS的页面中单击没有ID或ng-class的按钮

毛缪文
2023-03-14
问题内容

我使用的以下代码未单击按钮并显示错误
消息。

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

Error message shows “no such element: Unable to locate element.

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

  1. WebElement clickNext1 = webDriver.findElement(By.cssSelector(“button[ng-class=’pccCTRL.pow.Page1InputsValid() ? ‘btn-success’ : ‘btn-default’‘]”));
    clickNext1.click();

  2. webDriver.findElement(By.partialLinkText(“Next”)).click();

  3. webDriver.findElement(By.cssSelector(“button[type=’button’]”)).click();

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

Button code
segment

Hoping to get feedback. Thank you.


问题答案:

好的,我可以使用By.xpath解决此问题

这是解决它的代码段:

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

clickNextButton.click();


 类似资料:
  • 我正在尝试使用Java Selenium Web驱动程序单击弹出窗口中的“保存”按钮,但是它会引发异常 消息:元素当前不可见,因此可能不会与命令持续时间交互 我可以看到“保存”按钮在我的弹出窗口中处于活动状态。我不知道它抛出异常的原因。 我正在尝试单击的“保存”按钮的 HTML 代码, firepath:html/body/div[6]/div/div/div/dir[2]/div/div//bu

  • 问题内容: 我试图根据其类有条件地将指令应用于元素。 这是我的问题的一个简单案例,请参阅此小提琴中的结果。在此示例中,我使用了类名到with的布尔形式的映射。在我的实际情况下,我想使用函数的布尔结果。 标记: JS: 为什么不将指令应用于通过类的指令?我对AngularJS处理指令的顺序有误解吗? 我应该如何基于表达式的求值有条件地将指令应用于元素? 问题答案: 在编译过程 之后 ,只需在DOM上

  • 我正在为一个应用程序编写测试,我没有访问源代码的权限,我身边的人也没有。在某个时刻,我插入登录/密码信息,登录按钮变为绿色,我可以点击它。但是,我无法自动执行该操作,因为即使我可以点击屏幕上的按钮,其“clickable”属性仍然为假,除了“enabled”属性之外的所有其他属性都为假,即使按钮无法点击,该属性也始终为真。UIAutomatorViewer上节点详细信息的屏幕截图 我唯一能想到的就

  • 本文向大家介绍angularJs的ng-class切换class,包括了angularJs的ng-class切换class的使用技巧和注意事项,需要的朋友参考一下 在angular中为我们提供了3种方案处理class: 1:scope变量绑定 2:字符串数组形式。 3:对象key/value处理。 第一种我们不推荐使用,看看其他两种解决方案: 字符串数组形式 字符串数组形式是针对class简单变化