selenium - 硒元素被不存在的元素阻挡
问题描述
我正在尝试在 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>
解决方案
尝试使用 JavaScript 执行器单击。
参考链接:- http://learn-automation.com/click-in-selenium-webdriver-using-java-script/
推荐阅读
- html - 在 React (NextJS) 和 Tailwind CSS 中切换底层表格行的可见性
- google-apps-script - 如何更改 google-app-scripts (GMAIL) 中文本的颜色、大小和对齐方式等字体样式?
- blender - 自动减小 obj 文件的大小
- python - 多边形类:查找矩形和三角形的面积和长度
- boost-spirit - 使用 boost::spirit 解析器解析单个空格
- php - 子数组集合未与 foreach 一起显示
- azure - Azure KeyVault 机密分组
- javascript - tvOS TVML 应用程序 - 外部 WebVTT 字幕轨道
- typescript - 具有未知参数的通用函数参数
- reactjs - ts(2339) 通用 useFetchData 挂钩出错