如何使用Selenium java单击div span img

时间:2016-07-19 06:46:38

标签: java html selenium alt

如何使用selenium webdriver(java)在div和span中单击此图像? 这是HTML代码:

<div id="pane_" name="pane_" xmlns:fo="http://www.w3.org/1999/XSL/Format">
 <ul class="menuMargin">
  <li class="clsHasKids">
   <span onclick="ProcessMouseClick(event)" onkeypress="ProcessKeyPress(event)">
   <img tabindex="0" id="imgError" src="../plaf/images/default/menu/menu_right.gif" alt="Customer">Customer
  </span>

这就是“客户”图片链接的xpath:

//*[@id="pane_"]/ul[2]/li/span

我使用的一些代码没有任何效果:

driver.findElement(By.linkText("Customer")).sendKeys(Keys.SHIFT,Keys.ENTER);


driver.findElement(By.xpath("//a[@alt='Customer']")).click();


driver.findElement(By.tagName("//div[@id='pane_']//ul[2]//li//span")).click();

2 个答案:

答案 0 :(得分:0)

如果你想点击跨度来调用javascript onclick事件,那么

WebElement e = d.findElement(By.id("pane_"));

e.findElement(By.tagName("span")).click();

并点击图片

e.findElement(By.tagName("span")).findElement(By.tagName("img")).click();

答案 1 :(得分:0)

您应该尝试以下driver.findElement(By.xpath("//span[contains(. , 'Customer')]")).click(); : -

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement el = wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//span[contains(. , 'Customer')]")));

已修改: -

{{1}}

希望它有所帮助.. :)