2016-11-14 83 views
0

我無法點擊一個登錄元素,我已經嘗試了許多方法點擊和它顯示下面。請幫助我,源代碼也給出。無法點擊一個元素

的源代碼:

<div ng-hide="IsXmlPunchOut()" class="myaccount ng-scope"> 
 
\t <div ng-click="Login()" class="myaccount-link"> 
 
\t \t <div class="myaccount-label"> 
 
\t \t \t <span class="icon-user-male" aria-hidden="true"></span> 
 
\t \t \t <span class="label ng-binding">Login&nbsp;</span> 
 
\t \t </div> 
 
\t </div> 
 
</div>

我需要點擊任何一個div元素或者span元素,這將打開登錄彈出窗口。

代碼嘗試:

driver.findElement(By.cssSelector("div.myaccount-label > span.label.ng-binding")).click(); 
 
\t \t //driver.findElement(By.xpath("//div[4]/div/div/div/span[2]")).click(); 
 
\t \t //driver.findElement(By.className("icon-user-male")).click(); 
 
\t \t //driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[1]/div[2]/div/div[4]/div/div/div/span[2]")).click(); 
 
\t \t //driver.findElement(By.cssSelector("body > div.wrapper > div.header > div:nth-child(1) > div.secondary-bar.ng-scope > div > div:nth-child(4) > div > div > div > span.label.ng-binding")).click(); 
 

 
\t \t //driver.findElement(By.cssSelector(".label.ng-binding")).click(); 
 

 
\t \t //driver.findElement(By.cssSelector(".myaccount-link")).click(); 
 
\t \t //driver.findElement(By.xpath("html/body/div[1]/div[1]/div[1]/div[2]/div/div[4]/div/div")).click(); 
 

 
\t \t driver.findElement(By.cssSelector("div.myaccount-label > span.label.ng-binding")).click();

他們沒有工作。請幫助。謝謝

+1

什麼錯誤你得到些什麼? –

+0

使用操作類並嘗試即鼠標移動到元素方法。 –

+0

@SudharsanSelvaraj:我沒有找到這樣的元素髮現異常 –

回答

0

嘗試鼠標懸停並通過css或xpath單擊元素。

+0

你可以給我一個它的示例代碼 –

0

嘗試如下使用cssSelector: -

driver.findElement(By.cssSelector("div.myaccount-link[ng-click='Login()']")).click(); 
+0

再次變得沒有這樣的元素髮現異常 –

+1

@ChetanKumarT確保元素不在任何框架/ iframe –

+0

我認爲@SaurabhGaur是正確的。如果沒有拋出這樣的元素異常,則可能是該元素位於某個iframe中。或者有時它也可能是一個下拉菜單隱藏的元素,然後再嘗試點擊它。你正在使用哪種瀏覽器? –