Как перейти на новую вкладку с помощью селена C# для браузера Safari - PullRequest
0 голосов
/ 27 апреля 2020

Я хочу перейти на новую вкладку, открытую по нажатой ссылке в браузере Safari для MACOS.

Код, используемый для Chrome, не работает для браузера Safari.

driver.SwitchTo () .Window (driver.WindowHandles.Last ());

пробовал приведенный ниже код, но не работает - 1. driver.FindElementExistByWait (By.CssSelector ("body")). SendKeys (Keys.Command + " \ т "); 2. driver.FindElementExistByWait (By.CssSelector ("body")). SendKeys (Keys.Control + "\ t");

Не могли бы вы помочь решить эту проблему.

1 Ответ

0 голосов
/ 27 апреля 2020

Это процесс, состоящий из двух частей .....

Перейти на новую вкладку:

    public static string SwitchToTab()
    {
        var mainHandle = Driver.CurrentWindowHandle;
        var handles = Driver.WindowHandles;

        foreach (var handle in handles)
        {
            if (mainHandle == handle)
            {
                continue;
            }
            Driver.SwitchTo().Window(handle);
            break;
        }
        var result = Url;
        return result;
    }

Затем переключиться на основной контент, если необходимо:

           public static void CloseNewTab()
    {
        var mainHandle = Driver.CurrentWindowHandle;
        var handles = Driver.WindowHandles;
        foreach (var handle in handles)
        {
            if (mainHandle == handle)
            {
                continue;
            }
            Driver.SwitchTo().Window(handle);
            Driver.Close();
            Driver.SwitchTo().Window(mainHandle);
            break;
        }
    }
...