C# Selenium с ChromeDriver (контекстное меню и SendKeys) - PullRequest
0 голосов
/ 19 апреля 2020

Я использую C# / Селен с ChromeDriver . Я могу отправить ContextClick (не имеет значения, это может быть где-либо на веб-странице) на веб-сайт методом Действие , но я не выбрал пункты меню ( Назад, Печать и т. Д.). c. ). Я перепробовал все ярлыки, но это не сработало.

Непосредственно методы VirtualKeys или SendKeys могут работать очень хорошо, но я хочу использовать ChromeDriver с « - без головы » и « - без звука ».

Я попробовал метод " actions.SendKeys (Keys.ArrowDown) .Build (). Perform (); ", но веб-страница действовала как перемещение страницы (вертикальная полоса прокрутки или PageDown). И снова я попробовал другой метод, когда использую для ContextClick метод, " actions.MoveByOffset (10, 70) .Click (). Perform (); ". Я не мог выбрать параметры ContextMenu с помощью мыши или клавиатуры.

Затем я искал коды меню ContextClick с помощью Xpath , но не смог его найти. Может быть, у него есть коды, но я не смог его найти.

Я делюсь своим примером кода здесь:

        ChromeOptions option = new ChromeOptions();
        option.AddArgument("--headless");
        option.AddArgument("--silent");
        ChromeDriverService service = ChromeDriverService.CreateDefaultService();
        service.HideCommandPromptWindow = true;
        IWebDriver driver = new ChromeDriver(service, option);

        driver.Url = "https://mywebsite";
        Thread.Sleep(2000);

        Actions actions = new Actions(driver);

        actions.ContextClick().Perform();
        Thread.Sleep(250);

        actions.SendKeys(Keys.ArrowDown).Build().Perform();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...