我正在尝试使用Selenium webdriver测试电子商务网站。测试中的问题是,每当我尝试在购物车中添加内容时,它只会弹出一个新闻信窗口,我尝试使用警报进行处理,但我不能。
有人可以帮助我。我在下面附上了截图以及代码。
public class Ui {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver","C:/New folder/geckodriver.exe");
//First Iam going to initialize the webdriver by using Firefox driver//
WebDriver driver = new FirefoxDriver();
driver.get("https://www.build.com/");
driver.manage().window().maximize();
driver.findElement(By.xpath(".//*[@id='search_txt']")).sendKeys("K-6626-6U ");
Actions enter = new Actions(driver);
enter.moveToElement(driver.findElement(By.xpath(".//*[@id='site-search']/div/button"))).click().build().perform();
}
}
答案 0 :(得分:0)
首先是 - 它不是一个警告窗口弹出窗口所以你需要找到关闭按钮,然后单击
使用以下代码:
public class Ui
{
public static void main(String[] args)
{
System.setProperty("webdriver.gecko.driver","C:/New folder/geckodriver.exe");
//First Iam going to initialize the webdriver by using Firefox driver//
WebDriver driver = new FirefoxDriver();
driver.get("https://www.build.com/");
driver.manage().window().maximize();
new WebDriverWait(driver, 60).until(ExpectedConditions.visibilityOf( driver.findElement(By.xpath("//button[@class='close external-close']")))).click();
}
}
在这里你必须使用ExplicitWait
,直到弹出窗口可见,然后必须执行点击。如果您不能使用等待,那么它将抛出ElementNotVisibleException
。
答案 1 :(得分:0)
等一段时间,然后点击逃生
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.get("https://www.build.com/");
driver.manage().window().maximize();
//give own time
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
Actions enter = new Actions(driver);
enter.sendKeys(Keys.ESCAPE).perform();
}