Я использую Selenium 3.3.1 и привязки Java Webdriver, и мне нужно щелкнуть определенный элемент на карте изображения на странице. Вот HTML для карты изображения
<img id="menu1" name="menu1" src="../../images/images/menu23t.gif" width="950" height="68" border="0" usemap="#Map">
<map name="Map">
<area id="manager_indx" shape="rect" coords="220,13,297,60" href="../../backend/manager/index.php" target="_parent">
<area id="pos" shape="rect" coords="306,13,336,60" href="http://10.10.10.99:8080/frontend/index.html" target="_parent">
<area id="end_of_day" shape="rect" coords="347,13,410,60" href="../../backend/manager/end_of_day.php" target="_parent">
<area id="customer" shape="rect" coords="415,10,470,60" href="../../backend/managecustomers/index.php" target="_parent">
<area id="employee" shape="rect" coords="477,12,537,60" href="../../backend/employee_f/index.php" target="_parent">
<area id="reports" shape="rect" coords="540,12,590,61" href="#" onclick="chk_report_security()">
<area id="cash" shape="rect" coords="596,13,640,60" href="../../backend/manage_register/index.php" target="_parent">
<area id="inventory" shape="rect" coords="650,12,705,60" href="../../backend/inventory/index.php" target="_parent">
<area id="configuration" shape="rect" coords="720,11,802,60" href="../../backend/generalsetup/configuration.php" target="_parent">
<area id="logon" shape="rect" coords="815,11,848,60" href="http://10.10.10.99:8080/frontend/index.html" target="_parent">
<area id="exit" shape="rect" coords="852,11,890,61" href="javascript:javascript:exit_logout();">
<area id="help" shape="rect" coords="892,14,937,60" href="javascript:top.banner.openContainer(window.parent.banner.isThrive);" target="_parent">
</map>
И вот то, что я пытался заставить его щелкнуть область с идентификатором «отчеты».
WebElement banner = driver.findElement(By.cssSelector("map"));
WebElement area = banner.findElement(By.id("reports"));
area.click();//This click isn't working
Я также пробовал использовать ID, cssSelector и xpath.
driver.findElement(By.id("reports")).click();
driver.findElement(By.cssSelector("#reports")).click();
driver.findElement(By.xpath("//*[@id=\"reports\"]")).click();
И другие варианты xpath, такие как //area[@id='reports'].
В основном я использую Firefox и Geckodriver 0.15.0, но это происходит и в других браузерах. Для этого в 2011 году была обнаружена ошибка. , но это было определено только для хрома, и к настоящему времени эта ветка настолько устарела, что практически бесполезна. Если кто-то сделал это недавно, было бы очень полезно, если бы они могли поделиться, как они это сделали. Спасибо!
Actions
, перейдите к некоторым координатам/элементу и сделайте щелчок - person Ivan Pronin   schedule 28.06.2017