请帮助,我是硒的新手。我尝试自动化电子商务网站,但在处理弹出窗口时遇到问题。这是场景:
- Go to http://www.lampsplus.com
- 单击标题部分中的销售链接。
- 单击页面上显示的第一个项目/产品。 (这将显示产品页面)。
- 在产品页面上,单击红色的“添加到购物车”按钮。 (这会将产品添加到购物车并显示弹出窗口)。
- 在弹出窗口中,单击深灰色的继续购物按钮。 (这将关闭弹出窗口。)
我坚持第 5 步(错误消息:无法找到元素“继续购物按钮”)
这是我在第 5 步之前的代码:
WebDriver d1 = new FirefoxDriver();
d1.manage().window().maximize();
d1.get("http://www.lampsplus.com");
d1.findElement(By.name("hdr_sale")).click();
d1.findElement(By.xpath(".//*[@id='sortResultContainer60238']/a[2]/span")).click();
d1.findElement(By.id("pdAddToCart")).click(); //This is step 4
//Here is suppose to be some code which handles the popup - my problem
d1.findElement(By.id("aContinueShopping")).click(); //This is step 5
我知道 .getWindowHandle();方法。我尝试了它的几种变体,但没有一个起作用。
谁能给我一个想法如何处理它。非常感谢!我使用Java。
注意:我不为 LampsPlus 工作,也不尝试推销他们的产品,选择该网站仅用于培训目的。
元素aContinueShopping
包含在 iframe 中。
您必须使用以下命令切换到 iframe:
WebElement frameID = d1.findElement(By.Css("#add-to-cart>iframe"));
d1.SwitchTo().Frame(frameID);
d1.findElement(By.id("aContinueShopping")).click();
iframe 上没有“名称”或“id”,因此您必须使用 WebElement 或数字来查找它。
完成该 iframe 后,您将使用以下命令切换回“顶部”:
d1.SwitchTo().DefaultContent();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)