上一篇文章说了自己的错误,这次找到了理论依据,记录下来
className不允许使用复合类名做参数
真实环境中元素往往使用复合类名(即多个class用空格分隔),使用className定位时要注意了,className的参数只能是一个class。
例如,打开http://hao.360.cn/,我们要使用className定位这个元素
<a class=“tab-item news” data-page=“http://sh.qihoo.com/daohang/index1.html” hidefocus=“false"href=”./brother.html#!news">新闻头条
1)执行driver.findElements(by.className(“news”)),成功定位到元素
2)执行driver.findElements(by.className(“tab-item news”)),定位失败,报错信息:Compound class names not permitted,意思是不允许使用复合类名称
分析:className的参数仅允许是一个class,此处class="tab-item news"是复合类名,直接使用会报错
本文通过实例解析了WebDriver中className定位方法的限制,指出当目标元素使用复合类名时,直接使用className定位会导致失败,并提供了正确的定位策略。
65

被折叠的 条评论
为什么被折叠?



