所以我想使用css选择器中的正则表达式来定位多个html元素,如下所示:
<input id="something_stuff_013_work" />
<input id="something_stuff_016_work" />
以下CSS选择器似乎不起作用:
input[id*='[0-9]*_work']
我需要在正则表达式中使用数字做一些事情,因为可以动态添加输入,并为其分配带有数字的数字。
我做错了什么?
答案 0 :(得分:8)
使用以下选择器怎么样:
input[id^='something_stuff_'][id$='_work']
它将获得ID为&#34; something_stuff _&#34;用&#34; _work&#34;完成。
答案 1 :(得分:3)
CSS不支持选择器中的正则表达式。使用类或者从属性选择器开始和结束。
答案 2 :(得分:2)
解决这个问题的方法是使用类而不是id,并将样式相同的东西归类为相同的。例如:
<input id="something_stuff_01_work" class="input_class">
<input id="something_stuff_02_work" class="input_class">
<input id="something_stuff_03_work" class="input_class">
然后选择类而不是id。
.input_class {
sweetstyleofawesomeness;
}
答案 3 :(得分:0)
尝试在数字ID前面加上\ 3。
我今天遇到了这个问题,它是使用chrometools生成的选择器,我以前从未见过,它可以使用Chromium Webdriver进行工作:
#\ 37
使用的完整选择器是“#\ 37> div> div.cell-text”。
这是一个选择器,用于选择id =“ 7”的元素。
使用我当前的设置,它(以\ 3开头)似乎可以在我要自动化的整个文档中正常工作。