Расположение селеновых элементов в Сафари 12 - PullRequest
0 голосов
/ 21 ноября 2018

Я использую BrowserStack для запуска тестов Selenium на ряде устройств / браузеров, включая Safari 11, и он отлично работает.Сейчас я пытаюсь добавить Safari 12 в тесты, но у меня возникают проблемы с самого начала, поскольку я получаю:

System.Collections.Generic.KeyNotFoundException: 'The given key was not present in the dictionary.'

, как только я пытаюсь определить местоположение первого элемента.Следующее произойдет сбой, когда он достигнет Местоположение, которое является System.Drawing.Point.

IWebElement element = this.Driver.FindElement(byLocator);
int x = element.Location.X;

Как мне обойти эту проблему?

1 Ответ

0 голосов
/ 26 марта 2019
        /* Safari Hack */
        int x;
        int y;
        try
        {
            x = element.Location.X;
        }
        catch (Exception)
        {
            x = ((OpenQA.Selenium.Remote.RemoteWebElement)element).LocationOnScreenOnceScrolledIntoView.X;
        }
        try
        {
            y = element.Location.Y;
        }
        catch (Exception)
        {
            y = ((OpenQA.Selenium.Remote.RemoteWebElement)element).LocationOnScreenOnceScrolledIntoView.Y;
        }
...