“注销”按钮的“Css选择器”

时间:2017-02-25 19:47:30

标签: selenium css-selectors

我在页面中有一个LogOut按钮。我试图在Selenium中自动化它。以下是该元素的源代码。

<a class="_2k0gmP" data-reactid="53" href="#">Log Out</a>

这是我正在使用的代码

driver.findElement(By.cssSelector("._2k0gmP[text='Log Out']"));

但我反复得到No Such Elemet发现异常,有时候无效选择器异常。有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:1)

您将获得InvalidSelectorException,因为您无法使用cssSelector根据内部HTML文本查找元素。为此,您可以使用xpath或linkText选择器。

xpath:driver.findElement(By.xpath(".//a[text()='Log Out']");

linkText:driver.findElement(By.linkText("Log Out"));

可能会抛出

NoSuchElement异常,因为你在类选择器中遗漏了_,因为@gecki说你的选择器正在搜索不存在的类。

答案 1 :(得分:0)

不要遗漏下划线:

driver.findElement(By.cssSelector("._2k0gmP[text='Log Out']"));

然而,在这种情况下,我更喜欢

driver.findElement(By.linkText("Log Out"));

答案 2 :(得分:0)

的xpath:

driver.findElement(By.xpath("//a[text()='Log Out']");