マウス ポインターを Web サイトのメニュー バーに移動する簡単なコードを Java で作成しました。マウスを「Demo page 1」に移動すると、そのサブメニューが開き、「Demo page 4」をクリックできます。コードは私のラップトップで完全に機能します。
私のラップトップは少し遅いので、コードを Lenovo PC に移動しました。コードを実行すると、開いているメニューが表示されません。驚いたことに、マウスはステータスバーにアドレスが表示されているため、バックグラウンドで「デモページ1」に移動していますが、開いているメニューが表示されないため、クリック()メソッドを使用して「デモページ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);
残念ながら、明確にするために画像をアップロードすることは許可されていません。私のラップトップと Lenovo PC の結果のスクリーンショットを確認する必要がある場合は、電子メール アドレスを教えてください。送信します。
早く終わらせないといけないので、お返事が早くて本当にありがたいです。ありがとうアミール