0

我用java编写了一个简单的代码,将鼠标指针移动到网站的菜单栏。当鼠标在“Demo page 1”上移动时,它的子菜单打开,然后我可以点击“Demo page 4”。该代码在我的笔记本电脑上完美运行。

因为我的笔记本电脑有点慢,所以我把代码移到了我的联想电脑上。现在,当我运行代码时,未显示打开的菜单。令人惊讶的是,鼠标在后台移动到“Demo page 1”,因为它的地址显示在状态栏中,但是由于没有显示打开的菜单,我不能使用 click() 方法打开“Demo page 4”,因为它是不可见的。代码在这里:

    // DemoPage11 is the xpath of "Demo Page 1" which is an item in the main menu
    String DemoPage11 = "//*[@id='access']//div[3]//ul//li[2]//a";
    // DemoPage114 is the xpath of "Demo Page 4" which is a sub-menu of "Demo Page 1"
    String DemoPage114 = "//*[@id='access']//div[3]//ul//li[2]//ul//li//a";

    ProfilesIni allProf = new ProfilesIni();
    FirefoxProfile p = allProf.getProfile("default");
    p.setEnableNativeEvents(true);
    WebDriver wd1 = new FirefoxDriver(p);

    // I use driver for scrolling the page and it works perfectly
    EventFiringWebDriver driver = new EventFiringWebDriver(wd1);        

    wd1.get("http://benchmarkazure.cloudapp.net/wordpress/");
    wd1.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    Actions builder = new Actions(wd1);
    builder.moveToElement(wd1.findElement(By.xpath(DemoPage11))).build().perform();
    WebElement weDemoPage114 = (new WebDriverWait(wd1, 30)).until(ExpectedConditions.presenceOfElementLocated(By.xpath(DemoPage114)));
    wd1.findElement(By.xpath(DemoPage114)).click();
    wd1.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

不幸的是,我不允许上传图片来澄清。如果您可以帮助我,并且需要在我的笔记本电脑与联想 PC 中查看结果的屏幕截图,请给我您的电子邮件地址,然后我会为您发送。

我真的很感谢你很快的回复,因为我必须尽快完成它。谢谢阿米尔

4

0 回答 0