当前位置: 首页 > 知识库问答 >
问题:

如何避免页面对象中的复合类名错误?

袁智明
2023-03-14

当我尝试在页面对象中使用具有空格类= “国家名称”的类名时,我得到:

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

我如何使用有空格的类名?

例如:

class = "country name"

共有3个答案

路阳华
2023-03-14

您可以使用这些类名中的一个,例如

:class => 'country' 

:class => 'name'

如果它不能帮助您,那么您应该切换到使用其他类型选择器:css或:xpath

但请注意,在以下情况下:css你写:

:css => '.country.name'

如果是:xpath:

:xpath => '//div[@class='country code']

两个都应该管用

巫马化
2023-03-14

你可以用这个

By.cssSelector("*[class^='classname']");

^ is for if you entering beginning of the class name, 
$ is for if you entering ending of the class name usage example below with sample class name: tech random corner text_left

By.cssSelector("*[class^='tech']");
By.cssSelector("*[class$='text_left']");
琴元凯
2023-03-14

改用CSS选择器:

.country.name

重要的是要注意这个例子是错误的!如果“国家名称”是指一个国家的名称,也就是说。类名中不能有空格。事实上,class属性是一个用空格分隔的类列表。这意味着如果你有一个类国家名称,它不是一个类,而是你的元素所属的两个不同的类——第一个是国家,第二个是name

因此,如果你的类是错的,就修改它们。如果不是,使用CSS选择器,这是匹配多个类的唯一可靠的方法(除了非常长且复杂的XPath表达式)。不要使用简单的XPath表达式或带有简单属性比较的CSS选择器(< code >//*[@ class = ' country name ']或< code > *[class = ' country name ']),那是完全错误的。

 类似资料:
  • 我们正在将Apollo Graphql Server v1项目迁移到V2。 我们注意到错误响应格式发生了变化。 我已经测试了Apollo GraphQL V2,这就是它的实现方式。 在v1中,这是预期的。 在v1中,我们看到如下错误响应,

  • 问题内容: 我正在尝试在两个数据帧之间合并。每个数据帧都有两个索引级别(日期,客户)。在列中,例如,某些列在两者之间匹配(货币,日期)。 按索引合并这些内容的最佳方法是什么,但不要采用两个副本的货币和日期。 每个数据框都是90列,所以我试图避免用手将所有内容写出来。 如果我做: 我懂了 谢谢!… 问题答案: 您可以算出仅在一个DataFrame中的列,并使用它来选择合并中列的子集。 然后执行合并(

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

  • 问题内容: 堆垛机。我一直在网站上搜索我的问题,但没有找到我想要的东西。我坚持下面的代码: 得到了一个不错的数组列表,但是如果我在ArrayList中添加更多“ newUsers”,它们似乎会相互覆盖。我不想创建一个newUser1,newUser2对象,因为稍后在我的程序中,我必须能够直接从该程序添加新用户。 如何实现呢? ValidateUser: } 问题答案: 如果我理解正确,那么您是以这

  • 我使用for循环将学生详细信息添加到ArrayList。当我给第二个学生提供详细信息时,它会覆盖第一个数据。螺柱类 将数据添加到ArrayList的主类。 输出:第二个数据[2,2]后的实际输出辊数[1]。预期输出应为卷号: A1姓名: F1 L1性别:男性年龄: 11体育赛事:标枪 报名号:A2姓名:F2 L2性别:女年龄:14体育项目:100米跑 报名号:A3姓名:F3 L3性别:男性年龄:1

  • 问题内容: 我是JSF的新手,只写了第一个简单的jsf网络应用程序。 具有.jsf的URL映射到WebContent中的.xhtml文件,但是为什么我可以使用所有jsf标签在Web浏览器中打开.xhtml。如何保护呢? 问题答案: 您可以在阻止所有对的请求时添加安全约束。