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