2017-02-25 122 views
-1

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

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

这是我使用

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

的代码,但我反复得到没有这样的Elemet发现异常,有时无效的选择异常。有人可以帮助我吗?

回答

0

不要离开了下划线:

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

然而,在这种情况下,我宁愿

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

您无法找到使用CSS选择器包含的文本。 – JeffC

+0

@Gecki,linkText选择器实际工作。谢谢!! –

0

的XPath:

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

虽然这可能在理论上回答这个问题,但如果您提供解答的答案而不仅仅是一个代码唯一的答案会更好。 – JeffC

1

你得到InvalidSelectorException因为你可以” t使用cssSelector根据它的内部HTML文本来查找元素。为此,您可以使用xpath或linkText选择器。

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

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

NoSuchElement异常被抛出可能是因为你在课堂上选择离开了_作为@gecki这么说你的选择是寻找不存在的类。

+0

是@acikojevic,linkText选项实际工作。谢谢。 –