当我尝试在页面对象中使用具有空格 class = "country name"
的类名时,我得到:
Compound class names not permitted Selenium::WebDriver::Error::UnknownError)
如何使用有空格的类名。
例如:
class = "country name"
最佳答案
改用 CSS 选择器:
.country.name
需要注意的是,这个例子是错误的!如果“国家名称”
意味着一个国家的名称,那就是。类名中不能有空格。事实上,class
属性是一个以空格分隔的类列表。这意味着,如果您有一个类国家名称
,它不是一个类,而是您的元素所属的两个不同类 - 第一个是国家
,第二个是名称
!
因此,如果类有错误,请修复它们。如果不是,请使用 CSS 选择器,这是匹配多个类的唯一可靠方法(除了非常长且复杂的 XPath 表达式)。不要使用简单的 XPath 表达式或 CSS 选择器进行简单的属性比较(//*[@class='country name']
或 *[class='country name']
),这是完全错误的。
关于selenium - 如何避免页面对象中的复合类名称错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17808521/