当我尝试使用在页面对象中带有空格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/

10-12 16:11
查看更多