【问题标题】:Out of stock validation in Selenium webdriverSelenium webdriver 中的缺货验证
【发布时间】:2017-06-14 12:28:35
【问题描述】:
【问题讨论】:
-
-
-
请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask
标签:
java
selenium
webdriver
【解决方案1】:
试试这个。
// Step1: Go to watch page.
driver.get("https://www.o2.co.uk/shop/smartwatches/#sort=content.sorting.featured&page=1");
// Step2: Click on selected watch
WebElement element = driver.findElement(By.id("mywatch"));
driver.click(element);
// Step3: Get the status of watch
String item_status = driver.findElement(By.className("status-info")).getText();
//Step4: Navigate back if selected item is 'Out of Stock'
if(status.equals("Out of Stock")){
driver.navigate().back();
}
【解决方案2】:
您可以检查如下情况:
// After product details page
List<WebElement> outOfStockItem = driver.findElements(By.xpath("//p[@class='delivery-information']/span[contains(.,'Out of stock')]"));
if(outOfStockItem.size()>0)
{
driver.navigate().back();
}
else
{
// perform your further actions here
}
说明:一旦您的页面登陆产品详细信息页面,例如https://www.o2.co.uk/shop/accessories/kitsound/mini-buddy-speaker/#contractType=nonconnected 在此 URL 上。它将检查是否存在任何缺货元素。如果存在,那么它会将页面导航到上一页。在其他情况下,您可以管理您的代码以进行进一步处理
或者您可以在选择产品颜色后编写此代码,因为在给定的网站上,某些颜色的某些产品缺货。