我有以下声明:
String v_name = "Computer";
String v_test1 = new WebDriverWait(Login.driver,10).until(ExpectedConditions.visibilityOfElementLocated
(By.xpath("//span[.=\""+v_name+"\"]/following-sibling::span"))).getText();
我需要以某种方式获得没有style =“display:none;”的值。
<div class="test">
<span>WIN-S38B7T042RC</span>
<span style="display: none;>CLOSED</span>
<span>OPENED</span>
<span style="display: none;>CLOSED</span>
</div>
我不能使用span [1]等选项。
所以,我想找一些更灵活的选择。
类似于:/following-sibling::span **not in** style="display: none;"
答案 0 :(得分:0)
XPath非常灵活;一种方式是这样的:
By.xpath("//span[not(contains(@style, 'display: none;'))]/")
或者甚至可能是这样的:
By.xpath("//span[not(@style)]/")
当然,您也可以使用类似于您尝试过的东西,例如
By.xpath("//span[/following-sibling::span/@style]/")
但这可能比必要的更复杂。
请注意,这些都没有经过测试,但它们应该在理论上有效。
答案 1 :(得分:0)
我建议你使用这个xpath,最简单,最简单的
//span[not(contains(@style, 'display: none;'))]