有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何验证selenium中是否存在::after伪元素

我使用的是一个预定义字段,所以您只能输入特定的值,如果您输入任何其他值(未映射到数据库中),则会抛出错误。 现在,我想检查哪些值(来自excel工作表),这个字段会抛出错误,但我很难做到这一点,因为DOM中唯一会更改为无效值的是::before。如果无效::before将出现。 例如:

<label for="Broom" data-error="Please." class="active">::before</label>

共 (1) 个答案

  1. # 1 楼答案

    当我遇到这个问题时,我看不到任何通过诸如XPATH、CSS等WebDriver定位器策略来实现这一点的方法。我们只能通过Javascript来使用它。比如:

    public String errorCheck() {
        String script = "return window.getComputedStyle(document.querySelector('label[for=\\'Broom\\']'),':before').getPropertyValue('content')";
        JavascriptExecutor js = (JavascriptExecutor)driver;
        String content = (String) js.executeScript(script);
        return content;
    }
    

    因此,您可以验证它是否为有效值返回null。如果你在这方面做更多的研究,你会发现你也可以做更多的验证,比如颜色等。 这更多的是从参考的角度