2017-02-25 63 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選項實際工作。謝謝。 –