2014-02-26 53 views
0

我需要點擊列表項上的元素才能進入下一個屏幕。 針對特定元素的HTML代碼看起來像硒的使用對於列表項的Findelement

<ul> 
<li id="leftSiderBarForm:tokenNoListId"> 
<li id="leftSiderBarForm:patientCheckinScreenId"> 
<li id="leftSiderBarForm:checkedInPagingId"> 
<li id="leftSiderBarForm:priorRegLink"> 
<a onclick="if(typeof jsfcljs == 'function') {jsfcljs(document.forms['leftSiderBarForm'],'leftSiderBarForm:j_id116,leftSiderBarForm:j_id116,regisType,4,registrationCategory,12','');}return false" href="#">Registration</a> 
</li> 

我嘗試使用f1.findElement(By.partialLinkText("Registration")).click()也不能開定位。

請幫

回答

0

嘗試像這樣...

f1.findElement(By.LinkText("Registration")).click(); 
+0

它不是working.Can你建議任何其他方式 – user3356119

0

試試這個....

f1.findElement(By.xpath("\\a[text()='Registration']")).click(); 
+0

你的斜槓是其他方式arount:) –

+0

它不工作:(你能提出任何其他方式 – user3356119

0

您是否嘗試過等待元素,

new WebDriverWait(f1,30).until(ExpectedConditions.visibilityOfElementLocated(By.linkText("Registration"))).click(); 
0

有可能,有另一個李英國文字註冊可用,但它是隱藏或不做你期望的事情。無論如何,儘量確保你得到正確的元素。

你可以嘗試(從例如通過@ user3283976,但削減了正確的方式):

f1.findElement(By.xpath("//a[text()='Registration']")).click(); 

或者

//li[@Id='leftSiderBarForm:priorRegLink']/a 

或者

//a[@contains(@onclick, "registrationCategory")] // make sure that contains is unique 

此外,使用了雙引號並且你的字符串中有雙引號,不要忘記逃避它們。即:

f1.findElement(By.xpath("//a[@contains(@onclick, \"registrationCategory\")]") 
相關問題