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

如何避免Page Object中的Composite Class name错误?

爱繁
2023-03-14
问题内容

当我尝试使用class = "country name"在页面对象中具有空格的类名称时,我得到:

Compound class names not permitted Selenium::WebDriver::Error::UnknownError)

我该如何使用具有空格的类名。

例如:

class = "country name"

问题答案:

改用CSS选择器:

.country.name

需要注意的重要一点是该示例是错误的!If "country name"的意思是一个国家的名称。类名中不能包含空格。实际上,该class属性是用空格分隔的类列表。这意味着,如果您有一个类country name,则不是一个类,而是您的元素所属的 两个 不同的类-第一个是country,第二个是name

因此,如果错误,请修复您的课程。如果不是,则使用CSS选择器,这是匹配多个类的唯一可靠方法(除了非常长且复杂的XPath表达式)。不要将简单的XPath表达式或CSS选择器与朴素的属性比较(//*[@class='country name']*[class='country name'])配合使用,这是完全错误的。



 类似资料:
  • 我正在将oracle从10升级到12,对于这个特定的项目,我遇到了以下错误: 似乎它没有识别我在DataSource上添加的配置: 我们使用的是Java 8,我们对代码有这些依赖关系: 问题是它正在为另一个项目工作(与这个项目具有相同的结构,但由于某种原因它在这里不起作用) 是否有任何遗漏或我可以找到问题并解决问题的地方?

  • 当方法调用的嵌套层级过深,导致栈空间耗尽时,会抛出StackOverflowError错误。 尝试复现问题,代码如下:

  • 问题内容: 我试图写一个近似平方根的函数(我知道有数学模块……我想自己做),但我被浮点运算搞砸了。如何避免这种情况? 使用它会产生以下结果: 我意识到我可以使用,但是我希望能够做到这一点非常准确。我希望能够计算出6或7位数字。如果我四舍五入,那将是不可能的。我想了解如何在Python中正确处理浮点计算。 问题答案: 这实际上与Python无关- 使用硬件的二进制浮点算法,您会在任何语言中看到相同的

  • 问题内容: 我有此错误信息: 消息8134,级别16,状态1,第1行除以零错误。 编写SQL代码的最佳方法是什么,这样我就再也看不到此错误消息了? 我可以执行以下任一操作: 添加一个where子句,这样我的除数永远不会为零 或者 我可以添加一个case语句,以便对零进行特殊处理。 使用子句的最佳方法是吗? 有没有更好的方法,或者如何执行? 问题答案: 为了避免出现“被零除”错误,我们对此进行了如下

  • 我使用Java实现了很多Selenium测试—有时,我的测试会因为StaleElementReferenceException而失败。 你能建议一些使测试更稳定的方法吗?

  • 问题内容: 我正在尝试通过从客户端向服务器发送密钥和随机数来认证用户。 我的代码未向我显示客户端的响应。执行下面的代码时,我得到了一个空指针异常。 问题答案: 解决大多数问题的固定步骤: 阅读堆栈跟踪以确定哪一行代码引发NPE 在该行代码处设置一个断点 使用调试器,在遇到断点时,确定该行中的对象引用是 弄清楚为什么引用该文件(到目前为止,这是唯一实际的困难部分) 解决根本原因(也可能很困难)