0

我有多個類像這樣的元素的鏈接:點擊的webdriver多類(CSS)

<tr> 
    <td> 
    <td> 
    <td> 
    <a class="btn btn-primary btn-xs"> 
    </td> 
</tr> 

我想與點擊:

webDriver.findElement(By.className("btn btn-primary btn-xs")).click(); 

但是這一次不工作 - >例外:沒有的元素中找到

我嘗試用這樣的:

webDriver.findElement(By.cssSelector("a[class='btn btn-primary btn-xs']")).click(); 

這個工程,但它只是將鼠標移動到這個元素,它並沒有真正點擊它。

我怎麼能點擊它?由於

+0

你用什麼方法/選擇器查找元素,應該對你在調用點擊方法時會發生什麼沒有影響... – CBroe

+0

什麼元素包含你的鏈接?它可以攔截你的點擊。 –

+0

@AlexeyR。該鏈接被包含在一張表中。我更新了我的問題。謝謝 – Ragnarsson

回答

0

這裏是回答你的問題:

你需要創建一個獨特的cssSelectorxpath標識的元素。以下cssSelectorxpath將定位WebElement並在其上執行click()

CSS

webDriver.findElement(By.cssSelector("a.btn.btn-primary.btn-xs")).click(); 

XPATH

webDriver.findElement(By.xpath("//a[@class='btn btn-primary btn-xs']")).click(); 

讓我知道如果這個回答你的問題。

+0

感謝您的幫助。不幸的是,它不起作用。 cssSelector有例外:鑑於CSS無效。而你的xpath也具有和我的代碼一樣的行爲,它只是將鼠標移動到那個元素上。我更新了我的問題,該鏈接附在表格 – Ragnarsson

+0

是的,在我的答案中提供的前一個'cssSelector'中有一個錯誤,但我已修復/更新它。在他們當前的格式中,'cssSelector'和'xpath'是等價的。如果它仍然沒有點擊,你可能不得不考慮採取行動類的幫助。謝謝 – DebanjanB

+0

嗨,我使用'JavascriptExecutor'作爲解決方法,它按預期工作。謝謝 – Ragnarsson