无法单击元素

时间:2016-11-14 18:10:36

标签: javascript angularjs selenium selenium-webdriver webdriver

我无法点击登录元素,我尝试了很多方法来点击它,如下所示。请帮我这个,源代码也给出了。

源代码:

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

我需要点击任何一个div元素或span元素,这将打开登录弹出窗口。

尝试了代码:

driver.findElement(By.cssSelector("div.myaccount-label > span.label.ng-binding")).click();
		//driver.findElement(By.xpath("//div[4]/div/div/div/span[2]")).click();
		//driver.findElement(By.className("icon-user-male")).click();
		//driver.findElement(By.xpath("/html/body/div[1]/div[1]/div[1]/div[2]/div/div[4]/div/div/div/span[2]")).click();
		//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();

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

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

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

他们都没有奏效。请帮助。感谢

2 个答案:

答案 0 :(得分:0)

尝试鼠标悬停,然后按css或xpath点击元素。

答案 1 :(得分:0)

尝试使用cssSelector,如下所示: -

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