使用java的空间webdriver类名

这个问题在jquery中得到了很好的答案,我想知道是否有人可以在Java中给出一个这样的例子吗?

我正在做driver.findElement(By.className("current time")).click(); 空间是问题,我在链接上看到了解释,但我不确定如何在java中处理它,并且无权更改类名。

粘贴我在Firefox中检查id的示例:下面的cssSelector示例不起作用,但我可能会遗漏一些东西。

  url  

您可以使用css选择器代替类名。 您没有提及类“当前时间”的标记名。 我假设它是输入,所以你的CSS选择器工作,

 WebElement element = driver.findElement(By.cssSelector("input[class='current time']")); element.click(); 

编辑#1基于提供的html,

查看评论中的html,似乎有很多选项可以找到webElement。 这是你的选择,

 WebElement element = driver.findElement(By.cssSelector("a[class='current time']")); element.click(); 

或者这也应该有用,

 WebElement element = driver.findElement(By.cssSelector("a.current.time")); element.click(); 

您也可以使用linkText,因为该元素是链接。 从您提供的HTML,链接文本是’url’

 WebElement element = driver.findElement(By.linkText("url")); element.click(); 

您也可以使用By.partialLinkText("partial link text here");

您还可以使用xpath作为:

 WebElement element = driver.findElement(By.xpath("//a[@class='current time']")); element.click(); 

要么,

 WebElement element = driver.findElement(By.xpath("//a[text() = 'url']")); element.click(); 

对于不太脆弱的测试,另一种选择是使用不依赖于类的顺序的XPATH,例如:

 WebElement element = driver.findElement(By.xpath("//a[contains(@class, 'current') and contains(@class, 'time')]")); 

只要在类名中找到一些空格,就需要切换到cssSelector Locator。

如果类名具有如下空格,则将类名转换为cssSelector。

在你的情况下

 WebElement element = driver.findElement(By.cssSelector(".current.time']")); element.click(); 

PS:加 [dot]在类名开头并用空格替换 [dot]将类名转换为cssSelector。