我在java中编写了一个简单的代码,将鼠标指针移动到网站的菜单栏。当鼠标在“演示页面1”上移动时,其子菜单打开,然后我可以点击“演示页面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);
不幸的是,我不允许上传图片来澄清。如果你可以帮助我,需要在我的笔记本电脑中查看结果的屏幕截图。联想电脑,请给我你的电子邮件地址,然后我会发给你。
我非常感谢您的回复,因为我必须尽快完成。 谢谢 阿米尔