Есть ли обходной путь мыши для IE8 и Firefox в WebDriver? - PullRequest
0 голосов
/ 16 февраля 2012

moveToElement WebDriver не работает в Firefox и IE.Он прекрасно работает в браузере Chrome.

Вот код, который я использую:

Actions builder = new Actions(driver);       
builder.moveToElement(driver.findElement(By.xpath(Loader.OR.getProperty(object))))
                            .moveToElement(driver.findElement(By.xpath(data)))
                            .click();
Action selectMultiple = builder.build();
selectMultiple.perform();

Опять же, работает с Chrome, но не с IE или Firefox.

1 Ответ

0 голосов
/ 03 октября 2012

Вы можете использовать для него Javacript, но, к сожалению, скрипт отличается для IE и Firefox / Chrome:

if (_browserName == BrowserName.InternetExplorer)
   {
        script = "var evt = document.createEventObject();" +
                 "arguments[0].fireEvent('onmouseover', evt);";
   }
else
  {
      script = "var evt = document.createEvent('MouseEvents');" +
               "evt.initMouseEvent('mouseover',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +
               "arguments[0].dispatchEvent(evt);";
 }
((IJavaScriptExecutor)QuestWebDriver.CurrentDriver).ExecuteScript(script, element); 

Для IE эти методы селена нативно работают для меня:

Actions action = new Actions(driver);
action.MoveToElement(element).Perform();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...