<input id="columns:4:fragParent:values_911" name="columns:4:fragParent:values" value="911" type="checkbox">
<label for="columns:4:fragParent:values_911">OPS - Amol Gharte</label>
<br>
<input id="columns:4:fragParent:values_973" name="columns:4:fragParent:values" value="973" type="checkbox">
<label for="columns:4:fragParent:values_973">OPS - Anand Babu</label>
<br>
<input id="columns:4:fragParent:values_1336" name="columns:4:fragParent:values" value="1336" type="checkbox">
<label for="columns:4:fragParent:values_1336">OPS - Ashwini Saravanan</label>
&#13;
我可以使用selenium java。下面的代码点击复选框。
driver.findElement(By.xpath("//label[text()='OPS - Amol Gharte']")).click();
但我要求选择所有&#34; OPS&#34;。是否有可能在硒中使用正则表达式或任何其他可能性
driver.findElement(By.xpath("//label[text()='^OPS*']")).click();
我尝试了类似的东西,但失败了
答案 0 :(得分:0)
您可以找到包含&#34; OPS&#34;的所有标签,如下所示:
driver.findElements(By.xpath("//label[contains(text(),'OPS')]"))
请注意,我正在使用&#34; findElements&#34;。然后你可以将所有这些元素分配给一个数组,然后有一个&#34; for&#34;循环执行每个操作。
答案 1 :(得分:0)
首先使用以下方法捕获所有此类项目:
'qty'
或使用
List<WebElement> itemList = driver.findElements(By.xpath("//label[contains(text(),'OPS')]"));
然后依次单击所有复选框,如下所示:
List<WebElement> itemList = driver.findElements(By.xpath("//label[starts-with(text(),'OPS')]"));
答案 2 :(得分:0)
同意“Sebastian L”的答案,但最好在定位器中添加短划线(因为某些文本可能只包括OPS在任何其他部分)。如果您确定值始终以OPS开头,则可以使用:
driver.findElements(By.xpath("//label[starts-with(text(), 'OPS -')]"))