【发布时间】:2017-05-25 21:31:41
【问题描述】:
下面是代码和问题:
if(result.findElement(By.xpath(".//*[@class='s-item-container']/div[4]/span/a/i")).getText().equals("Lightning Deal"))
我们在亚马逊上搜索任何产品后,我们还可以在某些产品上看到“Lighting Deal”选项。现在,我在这里尝试检查是否存在照明交易选项。如果它存在,则条件为真,一切正常。但是如果没有照明交易,那么这会给出错误NoSuchElementException,因为那时div[4]/span/a/i 不存在。这个div[4]/span/a/i 只有在有一些照明交易时才会出现。
请建议我如何写这个 if 条件。
完整代码:
//All the products after searching in List
List<WebElement> resultsList = driver.findElements(By.xpath(".//*[starts-with(@id, 'result_')]"));
for(WebElement result:resultsList)
{
System.out.println("Name of the product:"+result.findElement(By.tagName("h2")).getText());
System.out.println("Brand: "+result.findElement(By.xpath(".//*[@class='s-item-container']/div[3]/div[2]/span[2]")).getText());
if(result.findElement(By.xpath(".//*[@class='s-item-container']/div[4]/span/a/i")).getText().equals("Lightning Deal"))
{
String sp =result.findElement(By.xpath(".//*[@class='s-item-container']/div[5]/div[1]/a/span[2]")).getText();
System.out.println("Selling Price: "+sp);
}
else
{
System.out.println("Selling Price:"+result.findElement(By.xpath(".//*[@class='s-item-container']/div[4]/div[1]/a/span[2]")).getText());
}
}
【问题讨论】:
标签: java selenium automation