我想点击特定的一个地图标记图标,该图标在图像中突出显示。在图像内部,所有地图标记都显示相同的标记。所以我无法点击地图标记图标。
就像我的方案是在点击地图标记图标后,会显示一个弹出窗口,其中包含列表名称。假设我的商品名称是“xyz”,那么,我想验证地图名称“xyz”是否出现在地图上?
所以,我的第一步是找到列表名称为“xyz”的地图标记图标。
HTML Code Snippet。
<div id="map_canvas" class="map_canvas" style="width: 100%; height: 500px; position: relative; overflow: hidden;">
<div style="height: 100%; width: 100%; position: absolute; top: 0px; left: 0px; background-color: rgb(229, 227, 223);">
<div class="gm-style" style="position: absolute; left: 0px; top: 0px; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; -moz-user-select: none; z-index: 0;">
<div style="position: absolute; left: 0px; top: 0px; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; -moz-user-select: none; z-index: 0; cursor: pointer;" title="Formosa Centre">
<div style="position: absolute; left: 0px; top: 0px; z-index: 1; width: 100%;">
<div style="position: absolute; left: 0px; top: 0px; z-index: 2; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; -moz-user-select: none;"/>
<div style="position: absolute; left: 0px; top: 0px; z-index: 3; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; -moz-user-select: none;"/>
<div style="position: absolute; left: 0px; top: 0px; z-index: 4; width: 100%;">
<div style="width: 1px; height: 1px; z-index: 1000; position: absolute; left: 436px; top: 450px;"/>
参考图片。
我已经尝试过这段代码,但它对我不起作用。我使用了xpath和div标签以及使用样式属性。
WebDriverWait wait = new WebDriverWait(driver, 120);
wait.until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//div[@style='position: absolute; left: 0px; top: 0px; z-index: 3; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; -moz-user-select: none;']"))));
driver.findElement(By.xpath("//div[@style='position: absolute; left: 0px; top: 0px; z-index: 3; height: 100%; width: 100%; padding: 0px; border-width: 0px; margin: 0px; -moz-user-select: none;']")).click();
String title = driver.findElement(By.xpath("//h6/a/span[contains(text(), 'SN Estates')]")).getText();
System.out.println(title);
答案 0 :(得分:1)
您无需单击标记图标即可查看有关目标位置的详细信息 - 您可以使用页面左下角的搜索字段来完成相同的操作:
WebDriverWait wait = new WebDriverWait(driver, 15);
wait.until(ExpectedConditions.elementToBeClickable(By.id("search_string"))).sendKeys("SN Estates");
wait.until(ExpectedConditions.presenceOfElementLocated(By.className("ptitle")));
String title = driver.findElement(By.xpath("//a[@class='ptitle']/span")).getText();
System.out.println(title);