首页 > 解决方案 > 硒元素被不存在的元素阻挡

问题描述

我正在尝试在 Java 中运行一些 Selenium 测试,但某些字段被另一个字段阻止并且不可点击。问题是,页面源中实际上并不存在其他字段。

The error is: Element <select id="pets" class="sumo form-control SumoUnder" name="pets"> is not clickable at point (1025.833351135254,677.4000244140625) because another element <span> obscures it

没有没有其他标签(id、class 等)的元素。那么这个神秘的领域是什么?

有趣的是,如果我首先尝试访问其他一些字段,我会得到不同的模糊字段,这些字段在页面上也不存在。如:

<p class="CaptionCont SelectBox">

以交互方式观看测试无济于事。抛出错误时,没有任何可见的东西阻止元素。

这些幻象场从何而来,如何阻止它们阻挡我的场?

编辑:我发现这些字段是由 SumoSelect 添加的。当您查看页面的源代码时,它们不会显示,但如果您保存页面并在本地打开它,它们就会出现。

<div class="col form-group">
  <label for="pets">Pets</label>
  <div class="SumoSelect sumo_pets" tabindex="0" role="button" aria-expanded="false">
    <select id="pets" name="pets" class="sumo form-control SumoUnder" tabindex="-1">
      <option value="">Select</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
    </select>
    <p class="CaptionCont SelectBox" title="Select">
      <span class="placeholder">Select</span>
      <label><i></i></label>
    </p>
    <div class="optWrapper">
      <ul class="options">
          <li class="opt"><label>Select</label></li>
          <li class="opt"><label>1</label></li>
          <li class="opt"><label>2</label></li>
          <li class="opt"><label>3</label></li>
        </ul>
    </div>
  </div>
</div>

标签: selenium

解决方案


尝试使用 JavaScript 执行器单击。

参考链接:- http://learn-automation.com/click-in-selenium-webdriver-using-java-script/


推荐阅读