簡體   English   中英

單擊Selenium 2.33 Java中的隱藏菜單項

[英]Clicking on Hidden Menu Item in Selenium 2.33 Java

我有一個菜單元素,該菜單元素僅在單擊時彈出,然后在失去焦點時淡出。 我的任務是單擊一個隱藏的子菜單項。 從類似情況的先前答案中,我使用以下代碼單擊“子”菜單中的“項目”。

 Actions builder = new Actions(driver);
 WebElement mainMenuElement= driver.findElement(By.id("Mainmenu"));
 builder.moveToElement(mainMenuElement).build().perform();
 mainMenuElement.click();
 Thread.sleep(2000);
 WebElement mySubMenu=driver.findElement(By.xpath("//a[text()='Kit Components']"));
 mySubMenu.click();

但是,當我在chrome v 27中運行代碼時,三分之一左右的子菜單項永遠不會被單擊。 主菜單打開並永遠保持靜止。 但是submenu.click()每次都會執行而不會出現異常,並且該子菜單也是可見的。

這是因為我的代碼嗎? 還是這是因為子菜單項具有Click的本地化區域? 即手動單擊子菜單時,單擊僅對文本起作用,而不對元素的其余空白區域起作用。

我在chrome v 27中使用硒2.33 Java。

任何建議都將非常有幫助,謝謝。

首先,請不要在代碼中使用Thread.sleep 曾經 而是使用FluentWaitWebDriverWait命令

現在,要回答您的問題,似乎您偶然發現了某些人所說的“擋板”或“火焰測試”。 如果您的測試在三分之二左右的測試中不及格,那真是胡扯。

我每隔一段時間就會注意到click函數並不總是進行實際的點擊(即使代碼中的每個指示都表明確實如此)。 我想知道你是否正在發生這件事? 通常,我會檢查一下是否似乎發生了點擊。 如果它嘗試單擊代碼,但沒有任何反應,我將讓它重試單擊。 如果重試不起作用,則說明確實有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM