Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何验证selenium中是否存在::after伪元素_Java_Selenium_Selenium Webdriver - Fatal编程技术网

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

Java 如何验证selenium中是否存在::after伪元素,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我使用的是一个预定义字段,所以您只能输入特定的值,如果您输入任何其他值(未映射到数据库中),则会抛出错误。 现在,我想检查哪些值(来自excel工作表),这个字段会抛出错误,但我很难做到这一点,因为DOM中唯一更改无效值的是::before。如果无效,::before将出现。 例如: ::之前 当我遇到这个问题时,我看不到任何通过诸如XPATH、CSS等WebDriver定位器策略来实现这一点的方法。我们只能通过Javascript来使用它。大概是这样的: public String error

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

::之前

当我遇到这个问题时,我看不到任何通过诸如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。如果你在这方面做更多的研究,你会发现你也可以做更多的验证,例如颜色等。 这更多的是从参考的角度来看。

这里给出了类似的答案:
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;
}