html - 为具有多个属性的嵌套元素创建 CSS 选择器

标签 html selenium-webdriver css-selectors

我正在尝试选择嵌套在页面 div 中的复选框,以进行验收测试。

这是我可能会看到的 DOM 结构示例:

...
<div class="section-1">
    ...
    <input type="checkbox" name="type[12312][][]" value="1">Thing1</input>
    <input type="checkbox" name="type[12312][][]" value="2">Thing2</input>
    ...
</div>
...

通常,我可以做这样的事情来选择一个特定的复选框:

input[name*=type][value=1]

但就我而言,我需要特定部分中的复选框,页面中有很多复选框。所以我假设以下方法可行:

.section-1 input[name*=type][value=1]

但它不是

我的问题是:

  1. 为什么不起作用?
  2. 现在如何选择输入?

注意:我可以使用 JS 来获取输入,但我真的更喜欢使用 CSS 选择器,这样我就可以使用库 (Selenium) 的函数来处理元素操作。

最佳答案

这个有效:

.section-1 input[name^="type"][value="2"] {
    display: block;
    margin: 25px;
}
<div class="section-1">
    <input type="checkbox" name="type[12312][][]" value="1">
    <input type="checkbox" name="type[12312][][]" value="2">
</div>

尝试为您的属性值添加引号。

此外,input 元素是一个 void element .它没有结束标签,也不接受内容。

关于html - 为具有多个属性的嵌套元素创建 CSS 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38636519/

相关文章:

python - Selenium Python - 无法单击 iframe 中的复选框,该复选框绑定(bind)到带有隐藏元素中更新的值的标签

perl - 如何使用 Selenium::Remote::Driver Perl 包通过 Open Windows 在测试中上传文件

python - 使用 BeautifulSoup 选择 HTML 中的 div block

javascript - 根据屏幕大小隐藏和显示元素

javascript - HTML5 Canvas 在某些移动浏览器中的性能问题。

Java - 分布式对象逻辑 : server as the store/client as the worker

java - 即使 xpath 正确也无法找到元素

CSS:声明分组

jQuery:向选择器添加上下文比完善选择器要快得多?

jquery - 使用 jQuery 根据输入和位置属性显示 div