Selenium 3升级问题与类名

时间:2017-05-17 10:45:14

标签: java selenium xpath

我已将我的selenium框架升级到selenium 3.4版本,我收到以下错误:

如果类名有空格,则FindElement无法返回ReadOnlyCollection<IWebElement>

列表

哪些步骤会重现这个问题?

1.没有工作:

FindElements(By.ClassName("CLASS NAME"));

2。工作:

FindElements(By.ClassName("CLASSNAME"));

现在,大多数xpath都包含带空格的类名,而我的脚本“无效”。

使我的脚本中的所有xpath不带空格是一项艰巨的任务。维持这一点需要更多的时间。

任何人都可以建议我,或者你有任何解决办法来做一个小改动,脚本会没问题吗?

selenium团队也会解决这个问题吗?

1 个答案:

答案 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")