我在页面中有一个LogOut按钮。我试图在Selenium中自动化它。以下是该元素的源代码。
<a class="_2k0gmP" data-reactid="53" href="#">Log Out</a>
这是我正在使用的代码
driver.findElement(By.cssSelector("._2k0gmP[text='Log Out']"));
但我反复得到No Such Elemet发现异常,有时候无效选择器异常。有人可以帮帮我吗?
答案 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']");