【问题标题】:How to get CSS or XPath locator from a button class如何从按钮类中获取 CSS 或 XPath 定位器
【发布时间】:2016-10-22 18:40:03
【问题描述】:

只有按钮类和类定位器的详细信息。

它不采用 XPath 或任何定位器值。

请就如何使用按钮类提出任何建议。

<button class="btn btn-primaryr btn-block btn_wave">
    Sign Up
</button>

要使用 XPath 或 CSS。

【问题讨论】:

  • 您能否详细说明您所面临的问题?因为你的问题没有任何意义。
  • 请确认您的班级确实是btn-primaryr,或者是否应该是btn-primary
  • 是btn-primaryr !!

标签: css class xpath selenium-webdriver css-selectors


【解决方案1】:

要使用 CSS 获取元素,您可以试试这个:

diver.findElement(By.cssSelector("button.btn.btn-primary.btn-block.btn_wave"));

这结合了按钮中的所有类,但您可以只使用其中一个,并且可能已经找到它,如下所示:

diver.findElement(By.cssSelector("button.btn-block.btn_wave"));

您可以通过谷歌搜索了解更多关于selectors 的信息。它们允许您组合 HTML 和 CSS 类中的元素。

与 XPath 进行简要比较的一个来源是 here

无论如何,如果您的页面中有多个具有相同 CSS 类的按钮,您可能必须找到一种独特的方式来获取它(例如使用 :nth-child 选择器)。

希望对你有帮助。

【讨论】:

  • 它没有选择。
  • 这就是为什么在问题中发布代码很重要。 NullPointerException 不是因为找不到元素。如果 Selenium 找不到元素,它会抛出 NoSuchElementException - Element not found。您的代码中还有另一个问题。
  • 现在没有这样的元素例外!!
  • org.openqa.selenium.NoSuchElementException: Unable to find element with css selector == button.btn-block btn_wave(警告:服务器未提供任何堆栈跟踪信息)
  • 对不起,我在答案中放错了空格。正确的选择器是button.btn-block.btn_wave(用. 代替空格)。刚刚在答案中也修复了它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 2014-12-20
  • 2021-11-23
  • 2013-09-09
  • 1970-01-01
  • 2017-06-05
  • 2014-04-25
相关资源
最近更新 更多