Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用onclick with java在selenium webdriver中单击图像_Java_Selenium Webdriver - Fatal编程技术网

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

如何使用onclick with java在selenium webdriver中单击图像,java,selenium-webdriver,Java,Selenium Webdriver,我有一个图像刷新按钮,在同一个框架下的两个表具有相同的Img源和类名,但onclick对于刷新按钮是不同的。 这是刷新按钮的HTML编码。 对于第一个刷新按钮: <SPAN class=AddNew onclick=fnRefreshCAStatus();> <IMG src="../../SWB/BulkUpload/Images/refresh.gif"> Refresh</SPAN> <SPAN class=AddNew onclick=fn

我有一个图像刷新按钮,在同一个框架下的两个表具有相同的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>

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

<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>

刷新
请帮助我继续。

理想情况下,您可以为两个跨度定义(不同的)
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();

您可以通过Xpath索引来实现这一点。像

首先找到页面上的所有刷新按钮

List<WebElement> refreshBtn =  driver.findElements(By.xpath("//*[text()='Refresh']"));
如果是第二个

refreshBtn.get(1).click();

提供一些用于分析的HTML代码