一尘不染

使用Java的带空格的webdriver类名

selenium

这个问题接受了jQuery的伟大的答案,我想知道,如果有人能够给出一个例子在Java中吗?

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

我在firefox inspect id中粘贴的示例示例:下面带有cssSelector的示例不起作用,但是我可能缺少某些内容。

<span>
<a class="current time" href="http://someurl/"   onclick="s_objectID="http://someur/">url</a>
</span>

阅读 275

收藏
2020-06-26

共1个答案

一尘不染

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

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

*根据提供的html *编辑#1

查看评论中的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,因为元素是link。在您提供的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();
2020-06-26