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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 如何在seleniumxpath中处理条件_Java_Selenium_Xpath - Fatal编程技术网

Java 如何在seleniumxpath中处理条件

Java 如何在seleniumxpath中处理条件,java,selenium,xpath,Java,Selenium,Xpath,我正在web视图中的表中搜索文本,如果文本不存在,它应该转到else并相应地执行我的操作,而不是此操作,它会引发NoTouchElementException异常。如何处理这个问题。当找不到数据进行比较时,哪些Web驱动程序返回一个值 注意:如果它在表中找到title变量的匹配值,则可以正常工作 WebElement table = driver.findElement(By.xpath("html/body/form/div[6]/div/div[1]/div[2]/fieldset/div[

我正在web视图中的表中搜索文本,如果文本不存在,它应该转到else并相应地执行我的操作,而不是此操作,它会引发NoTouchElementException异常。如何处理这个问题。当找不到数据进行比较时,哪些Web驱动程序返回一个值

注意:如果它在表中找到title变量的匹配值,则可以正常工作

WebElement table = driver.findElement(By.xpath("html/body/form/div[6]/div/div[1]/div[2]/fieldset/div[1]/div/div[1]/div/table"));

// find the row
WebElement customer = table.findElement(By.xpath("//tbody/tr/td[contains(text(), '"+title+"')]/following-sibling::td/a[text()='Detail']"));
if(customer != null){ // how do I compare here.
    //System.out.println("This is your TITLE " +customer.getText());
    }else{
// my further code for failed case. 
}

如果您试图查找一个不存在的元素,则确实会抛出一个NosTouchElementException。因此,使用try/catch机制来定义else情况:

或者,您可以检查元素是否存在,然后应用常规的if/else:


如果您试图查找一个不存在的元素,则确实会抛出一个NosTouchElementException。因此,使用try/catch机制来定义else情况:

或者,您可以检查元素是否存在,然后应用常规的if/else:

使用以下命令:-

 public boolean isElementPresent(By by) {
  try {
        driver.findElement(by);
      return true;
     } catch (NoSuchElementException e) {
         return false;
    }
}
使用以下命令:-

 public boolean isElementPresent(By by) {
  try {
        driver.findElement(by);
      return true;
     } catch (NoSuchElementException e) {
         return false;
    }
}

根据:findElement不应用于查找不存在的元素,请改用findElementsBy和assert zero length response。如果不尝试与url一起使用的依赖项,请捕获NSEE。根据:findElement不应用于查找不存在的元素,使用findElementsBy并断言零长度响应。如果不尝试与url相关的依赖项,请捕获NSEE。
 public boolean isElementPresent(By by) {
  try {
        driver.findElement(by);
      return true;
     } catch (NoSuchElementException e) {
         return false;
    }
}