2015-04-16 42 views
-1

我需要通過data-user跟蹤元素,它必須有一個變量。這裏是我的代碼,它的工作原理:如何將變量放入find.element?

driver.findElement(By.cssSelector("div[data-user='Caroline']")).click(); 

我補充一下:

String UserName = "Caroline"; 

和編輯find.Element。以下是我試過的:

driver.findElement(By.cssSelector("div[data-user=""+ UserName]")).click(); 
driver.findElement(By.cssSelector("div[data-user=''+ UserName]")).click(); 
driver.findElement(By.cssSelector("div[data-user="'+ UserName +'"]")).click(); 
driver.findElement(By.cssSelector("div[data-user='"+ UserName +"']")).click(); 

但是這些都不起作用。這個的任何想法?

編輯:

的情況是點擊特定搜索結果「卡羅琳」作爲搜索結果會顯示動態,當我進入另一個信搜索文本。

回答

0

正如你提到的,這應該沒有任何問題

String UserName = "Caroline"; 
driver.findElement(By.cssSelector("div[data-user='"+ UserName +"']")).click(); 
+0

這個不適合我 –

1

如果cssSelector方法可以採取arguement分裂這樣一個底部應該工作。我知道XPath可以,所以請嘗試:

driver.findElement(By.XPath("//div[@data-user='"+ UserName +"']")).click(); 

不過,使用ID始終優於CSS或xpath。或者要求開發人員給你想要的項目加上一個你可以按照here所描述的方式接入,這樣他們就不會改變。

+0

這一個不適合我:( –

+0

需要看到包含元素的html。你在哪裏做什麼應該工作。 – cerberus07