下面沒有元素如何在條件寫的代碼和問題:硒:當有一些XPath的
if(result.findElement(By.xpath(".//*[@class='s-item-container']/div[4]/span/a/i")).getText().equals("Lightning Deal"))
,我們尋找在亞馬遜的任何產品之後,我們還可以看到「照明新政」選項在某些產品上。現在,我正在嘗試檢查照明處理選項是否存在。如果它存在,那麼條件是真的,一切都可以。但是如果沒有照明處理,那麼這會給出錯誤NoSuchElementException
,因爲div[4]/span/a/i
不存在。這個div[4]/span/a/i
只有當有一些照明協議時纔會生效。
請建議我如何寫這個條件。
完整代碼:
//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());
}
}
謝謝。它有幫助。 –