在automationpractice.com中自动化时, 脚步: 1.打开“automationpractice.com/index.php?id_product=5&controller=product#/size-s/color-orange” 2.单击“添加到购物车”按钮 3.下方添加到购物车成功弹出显示(参见下面的屏幕截图)
现在我无法在此弹出窗口中标记任何元素。我尝试使用Div标签在父窗口内的XPath
,但错误是ElementNotVisible。我用driver.getWindowHandles()
尝试了它,但它显示只存在1个窗口(父窗口)。还尝试使用alert
,但它表示不存在警报。
此问题仅发生在Chrome浏览器中,对于firefox,使用带有Div标记的父窗口中的xpath可以正常工作。
下面是我试过的脚本,有人可以帮忙吗?提前谢谢!
此弹出窗口的xpath为"//*[@id="layer_cart"]/div[2]"
Set<String> windows = wd.getWindowHandles();
System.out.println("windows.size():"+ windows.size()); // the result is 1
答案 0 :(得分:0)
此页面上没有新窗口或警报,只有问题是你的XPATH cotains "
而不是'
,alo需要等待几秒才能看到该元素:
WebDriver driver = new ChromeDriver();
driver.get("http://automationpractice.com/index.php?id_product=2&controller=product");
driver.findElement(By.xpath("//form[@id='buy_block']//p[@id='add_to_cart']")).click();
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='blockcart_caroucel']/li[1]")));
driver.findElement(By.xpath("//*[@id='blockcart_caroucel']/li[1]")).click();