我已将我的selenium框架升级到selenium 3.4版本,我收到以下错误:
如果类名有空格,则FindElement
无法返回ReadOnlyCollection<IWebElement>
哪些步骤会重现这个问题?
1.没有工作:
FindElements(By.ClassName("CLASS NAME"));
2。工作:
FindElements(By.ClassName("CLASSNAME"));
现在,大多数xpath都包含带空格的类名,而我的脚本“无效”。
使我的脚本中的所有xpath不带空格是一项艰巨的任务。维持这一点需要更多的时间。
任何人都可以建议我,或者你有任何解决办法来做一个小改动,脚本会没问题吗?
selenium团队也会解决这个问题吗?
答案 0 :(得分:1)
问题是类名
中不允许有空格如果您看到类名:
<input class="class name"/>
然后它代表2个类首先是class
,第二个类是name
现在来到selenium:
By.className()
选择器不允许您使用复合类。比如By.className("class name")
如果你想操纵复合类,你必须以这种方式使用xpath
driver.findElement(By.xpath("//span[@class='class name']")
以这种方式使用CSS选择器
driver.findElement(By.cssSelector(".class.name")