2016-08-18 73 views
1

我写了一个演示电子商务应用程序的脚本,我面临菜单和子菜单的问题。当我运行脚本时,它会将我带到登录页面,同时检查产品类别并单击子菜单。但我的要求是登录后,应检查产品类别,然后点击子菜单。Selenium Webriver:问题与菜单和子菜单

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

你在产品类别中检查什么?正如你所说,“登录后应该检查产品类别” – Ab123

回答

0

要与“选择”元素(下拉列表)交互,您应该使用select命令。希望这样的事情在Java中(C#的语法我熟悉的是有点不同):

driver.select("linkText="Product Category", "label=iPads"); 
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(); 
} 
+0

谢谢karthik它的工作.. – Joy