我是Selenium webdriver的初学者。我正在尝试自动执行this网站中的操作

在网页中,我想将光标移动到“按类别购物”->“手机和平板电脑”->然后单击链接“ Android手机”。但看不到Android手机点击的链接。

谢谢,你能指导我在这里吗?

下面是代码,

public static void main(String args[]){
    WebElement oEle1,oEle2;
    System.setProperty("webdriver.ie.driver","C:\\Users\\1003061\\Documents\\Automation testing\\selenium softwares\\IEDriverServer_Win32_2.53.0\\IEDriverServer.exe");
    WebDriver driver=new InternetExplorerDriver();
    driver.manage().window().maximize();
    driver.get("http://www.amazon.in/");
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

    Actions oMouse=new Actions(driver);
    oEle1=driver.findElement(By.xpath("//*[contains(text(),'Category')]"));
    oMouse.moveToElement(oEle1).build().perform();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    oEle2=driver.findElement(By.xpath("//*[@aria-label='Mobiles & Tablets']/span[contains(text(),'Mobiles & Tablets')]"));
    oMouse.moveToElement(oEle2).build().perform();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.findElement(By.xpath("//a[contains(@href,'android_mobiles')]")).click();

}

最佳答案

如果我是您,那么我不会理会此站点的下拉菜单结构。我只执行javascript命令以单击所需的选项。

WebElement element = driver.findElement(By.xpath("//a[contains(@href,'android_mobiles')]"))
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

09-11 19:31
查看更多