Я недавно сталкивался с подобной проблемой. Обратите внимание, я работаю с драйвером Selenium. Поэтому я не уверен, подходит ли мой подход для Selenium 1.xx
Проблема заключалась в нажатии невидимого элемента меню, которое появляется при событии наведения мыши.
Решение, которое я нашел для драйвера селена Firefox:
WebElement mnuElement;
WebElement submnuElement;
mnEle = driver.findElement(By.Id("mnEle")).Click();
sbEle = driver.findElement(By.Id("sbEle")).Click();
Actions builder = new Actions(driver);
// Move cursor to the Main Menu Element
builder.MoveToElement(mnEle).Perform();
// Giving 5 Secs for submenu to be displayed
Thread.sleep(5000L);
// Clicking on the Hidden SubMenu
driver.findElement(By.Id("sbEle")).Click();
Вот ссылка
Основная идея - создать экземпляр Actions и попытаться сфокусироваться на вашем элементе и щелкнуть по нему.
Я бы поступил следующим образом:
// находим xpath вашего невидимого элемента:
String xpathInvisible = "//*[id="calendar"]/div/div/div/div[1]";
//find xpath of the element, on hovering which your invisible (inactive) element appear. I mean somthing //like VDIs (see my screen) on pressing which menu elements appear.
String xpathCalendarToAppear =".....";
WebElement calendarToAppear= driver.findElement(By.xpath(xpathCalendarToAppear));
WebElement invisibleElement=driver.findElement(By.xpath(xpathInvisible));
Actions builder = new Actions(driver);
builder.MoveToElement(calendarToAppear).Perform();
// Giving 5 Secs for submenu to be displayed
Thread.sleep(5000L);
// Clicking on the Hidden SubMenu
invisibleElement.Click();
В Firefox это работает нормально. Но у IE драйвера есть проблемы с кликом по элементам.
Поэтому я решил эту «проблему IE», используя jscript напрямую, следующим образом:
WebElement hiddenWebElement =driver.findElement(By.xpath(....));
((JavascriptExecutor)driver).executeScript("arguments[0].click()",hiddenWebElement);
мы инициализируем переменную hiddenWebElement элементом, на который хотим щелкнуть.
И используя jscript, мы нажимаем на него.
Надеюсь, это поможет вам.