2017-09-14 102 views
0

我无法点击图像 - >地图 - >区域标记中的链接。任何人都可以帮助我解决这个问题。我想单击否(或)关闭。如何点击使用硒的图像上的链接java

<div id="IPEinvL" style="z-index: 10000; width: 439px; height: 360px; left: 463px; top: 0px; background-color: white; position: absolute; margin-left: 0px; margin-top: 0px;"> 
    <img alt="Would you like to participate in a short study?" usemap="#IPEMap" src="XXXXXXXXXXXXXXXXXXXX.png" border="0" height="360" width="439"> 
     <map name="IPEMap"> 
      <area shape="rect" coords="405,15,424,33" href="javascript:clWin()" alt="close"> 
      <area shape="rect" coords="117,229,214,258" href="javascript:fOpen()" alt="yes"> 
      <area shape="rect" coords="225,229,323,258" href="javascript:clWin()" alt="no"> 
     </map> 
    <img id="countInvites" src="XXXXXXXXXXXXXXXXX/Counter/counter_N.png?surveyID=120799&amp;siteID=1&amp;langID=1&amp;traceID=2" style="border: 0px; margin-top: -10px;" alt="" height="0" width="0"> 
</div> 

回答

0

以下代码可能有效。

方法1:

WebElement close=driver.findElement(By.xpath("//*[@id='IPEinvL']/map/area[@alt='close']")); 

JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript("arguments[0].click();",close); 

方法2:

WebElement close=driver.findElement(By.xpath("//*[@id='IPEinvL']/map/area[@alt='close']")); 
String hrefvalue=close.getAttribute("href"); 
JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript(hrefvalue); 

方法3: 使用Actions类

new Actions(driver).click(close).build().perform(); 
+0

我都试过3种方法得到下面的异常org.openqa.selenium.NoSuchElementException:找不到元素:// * [@ id ='IPEinvL']/img/map/area [@ alt ='close'] –

+0

抱歉xpath错误应该是// * [@ id ='IPEinvL']/map/area [@ ALT = '关闭'。请检查更新的xpath – Murthi

+0

Xpath // * [@ id ='IPEinvL']/map/area [@ alt ='close']。为我工作。它拯救了我的一天。谢谢! –

0

的Java click()必须的工作方式如下:

  • 要点击No

    driver.findElement(By.xpath("//map[@name='IPEMap']/area[@alt='no']")).click(); 
    
  • 要点击Close

    driver.findElement(By.xpath("//map[@name='IPEMap']/area[@alt='close']")).click(); 
    
+0

我试过两个都不行。 –