【发布时间】:2016-09-13 10:25:48
【问题描述】:
我正在尝试单击一个元素..它是位于 div 中的跨度。我可以得到定位器。但是当我在代码中使用它时,它说元素不可点击。
WebElement BookEditor=driver.findElement(By.xpath("//*[@id='appNavPanel']/div/span[2]"));
WebElement BookEditor=driver.findElement(By.cssSelector("div.tooltip.fade.right"));
元素的名称是书籍编辑器。这是html。
<div class="cb-AppNav js-app-nav">
<span data-toggle="tooltip" data-placement="right" class="cb-IconButton is-active" title="" data-original-title="Book Admin"></span>
<span data-toggle="tooltip" data-placement="right" class="cb-IconButton cb-AppNav-button icon-utility-page js-app-nav-page-config" title="" data-original-title="Book Editor"></span>
<span data-toggle="tooltip" data-placement="right" class="cb-IconButton cb-AppNav-button icon-utility-standard_objects js-app-nav-page-manager" title="" data-original-title="Book Manager"></span>
</div>
当我将光标移动到图标上时,它会显示以下代码。否则它是隐藏的。
<span data-toggle="tooltip" data-placement="right" class="cb-IconButton cb-AppNav-button icon-utility-page js-app-nav-page-config" title="" data-original-title="Book Editor"></span>
<div class="tooltip fade right" style="display: block; top: 57px; left: 50px;">
<div class="tooltip-arrow"></div>
<div class="tooltip-inner">Book Editor</div>
</div>
【问题讨论】:
-
实际上你是使用 CSS 类定位的,我认为定位类是动态附加的,这就是为什么你在鼠标悬停后无法定位的原因,你应该尝试在鼠标悬停在元素上后使用 xpath 来定位元素
driver.findElement(By.xpath(".//div[contains(.,'Book Editor')]")).click();告诉我
标签: java selenium xpath selenium-webdriver css-selectors