我为一个演示电子商务应用程序编写了脚本,我面临着菜单和子菜单的问题。当我运行脚本时,它会将我带到登录页面,同时它会检查产品类别并单击子菜单。但我的要求是在登录后应检查产品类别,然后点击子菜单。
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("http://store.demoqa.com/");
driver.findElement(By.id("account")).click();
driver.findElement(By.id("log")).sendKeys("username");
driver.findElement(By.id("pwd")).sendKeys("password");
driver.findElement(By.id("login")).click();
WebElement elemnt= driver.findElement(By.linkText("Product Category"));
Actions action= new Actions(driver);
action.moveToElement(elemnt).build().perform();
driver.findElement(By.linkText("iPads")).click();
driver.findElement(By.id("account_logout")).click();
driver.quit();
}
请帮忙。
答案 0 :(得分:0)
要与“select”元素(下拉列表)进行交互,您应该使用select命令。希望在Java中这样的东西(我熟悉的C#语法有点不同):
driver.select("linkText="Product Category", "label=iPads");
答案 1 :(得分:0)
尝试使用以下代码 -
public static void main(String[] args) {
WebDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("http://store.demoqa.com/");
driver.findElement(By.id("account")).click();
driver.findElement(By.id("log")).sendKeys("username");
driver.findElement(By.id("pwd")).sendKeys("password");
driver.findElement(By.id("login")).click();
Thread.sleep(8000);
WebElement elemnt= driver.findElement(By.linkText("Product Category"));
Actions action= new Actions(driver);
action.moveToElement(elemnt).build().perform();
driver.findElement(By.linkText("iPads")).click();
driver.findElement(By.id("account_logout")).click();
driver.quit();
}