html - 在浏览器中与在缓冲区中使用 Selenium 进行 headless 测试

标签 html css selenium cucumber

我在浏览器中使用 Selenium,并通过 headless ruby​​ gem 将其与 xvfb 一起使用。当我在浏览器中运行测试时,测试通过了。当我使用 HEADLESS 运行相同的测试时,它在此时尝试选择复选框元素时失败了:

<div id="edit-field-industry-und" class="form-checkboxes">
    <li id="50" class="half selected">
        <div class="form-item form-type-checkbox form-item-field-industry-und-50">
            <input id="edit-field-industry-und-50" class="form-checkbox" type="checkbox" checked="checked" value="50" name="field_industry[und][50]">
            <label class="option" for="edit-field-industry-und-50">Aerospace</label>
        </div>
    </li>
</div>

注意:HTML 中的输入是隐藏的!!

错误: 元素在点 (849.433349609375, 21) 不可点击。其他元素将收到点击:(Selenium::WebDriver::Error::UnknownError)

不确定设计者为什么这样做(顺便说一句,一个 Drupal 站点),但我怀疑复选框元素作为 li 包装在 div 中(列表元素)。

我的问题是为什么我可以点击浏览器中的按钮,但不能点击缓冲区中的按钮?另外,是否可以解决检查 css 文件中不可见的对象的问题?

最佳答案

您是否尝试过使用 PhantomJS ( http://phantomjs.org/) 进行 headless 测试?它与 Selenium 配合得很好。您也可以使用 JavascriptExecutor 来点击隐藏的元素。

关于html - 在浏览器中与在缓冲区中使用 Selenium 进行 headless 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37444887/

相关文章:

Python selenium 保持浏览器打开

jquery - 响应式导航(移动菜单)在某些页面上不起作用

jquery - 保持标题宽度与图像相同,并让周围的文本换行

android - 在 Visual Studio 2010 中使用 Jquery Mobile 的 HTML 和 CSS

css - 我们可以在不添加任何类的情况下在 css 中设置一列 tds 的样式吗?

javascript - 如何使用selenium rc查找页面中是否存在javascript错误

javascript - 我希望我的显示/隐藏 Jquery 脚本始终显示隐藏内容之一,并且永远不会一次显示超过 1 个隐藏文本

html - 如何强制段落在 div 中呈现并扩展 div 高度?

html - CSS 调整图像大小以适应容器

video - 录制视频播放的 Selenium 测试(ffmpeg)