Java 如何在seleniumxpath中处理条件
我正在web视图中的表中搜索文本,如果文本不存在,它应该转到else并相应地执行我的操作,而不是此操作,它会引发NoTouchElementException异常。如何处理这个问题。当找不到数据进行比较时,哪些Web驱动程序返回一个值 注意:如果它在表中找到title变量的匹配值,则可以正常工作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[
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;
}
}