如何使用onclick with java单击selenium webdriver中的图像

时间:2013-04-24 13:21:50

标签: java selenium-webdriver

我在两个具有相同Img源和类名的表下的同一帧中有一个图像刷新按钮,但是刷新按钮的onclick是不同的。 这是刷新按钮的HTML编码。 对于第一个刷新按钮:

<SPAN class=AddNew onclick=fnRefreshCAStatus();>
  <IMG src="../../SWB/BulkUpload/Images/refresh.gif"> Refresh</SPAN>

对于第二个“刷新”按钮:

<SPAN class=AddNew onclick=fnGetCAAttributeCount()>
  <IMG src="../../SWB/BulkUpload/Images/refresh.gif">&nbsp; Refresh </SPAN>

请帮我继续。

2 个答案:

答案 0 :(得分:0)

理想情况下,您可以为两个跨度定义(不同的)id属性,然后执行

WebDriver driver = getWebDriver();
driver.findElement(By.id("firstSpan")).click();

如果您按原样保留HTML(我不推荐),您可以

int index = 1; // for the second span
WebDriver driver = getWebDriver();
driver.findElements(By.className("AddNew")).get(index).click();

答案 1 :(得分:0)

您可以使用Xpath索引来完成此操作。像,

Fist找到页面上的所有刷新按钮,

List<WebElement> refreshBtn =  driver.findElements(By.xpath("//*[text()='Refresh']"));

然后,如果要单击第一个刷新按钮使用,

refreshBtn.get(0).click();

如果是第二个,

refreshBtn.get(1).click();