Как изменить состояние переключения ControlType.TreeItem в Winium? - PullRequest
1 голос
/ 27 июня 2019

Я автоматизирую приложение Windows SWF, используя Winium.У меня много элементов SwfTreeView и TreeNodes.Мне нужно установить / снять флажок с какого-нибудь узла дерева, что я не могу сделать.

Я пытался щелкнуть по узлу дерева, но он просто выбирает узел, а не проверяет / снимает отметку с узла.

1 Ответ

0 голосов
/ 03 июля 2019

У меня была та же проблема с моим Tree View, но мне удалось заставить что-то работать, и, надеюсь, это поможет вам:)

Пример элемента дерева

В этом примере у меня есть элемент дерева, который необходимо проверить, чтобы моя программа перешла к следующему этапу, в противном случае будет выдано сообщение об ошибке «Элемент не выбран».

Сначала я нахожу фактический элемент, используя FindElement и нажимая на него, чтобы выделить его:

tcrForm.FindElement(By.Name("JG TF02 - 1 Defects Own Cycle")).Click();

Затем методом проб и ошибок я перемещал координаты мыши вручную, используя функцию Actions. Перемещая и выполняя щелчок одновременно, мне удалось щелкнуть ToggleBox:

        Actions action = new Actions(driver); // Try and click the checkbox

        // From the centre of the element, move left, then click

        action.MoveByOffset(-117, 0).Click().Perform();
        Debug.WriteLine("Click has been performed");

Я уверен, что есть кто-то, у кого есть лучшее решение для этого, но, насколько я знаю, это работает отлично. Пожалуйста, напишите мне, если это не работает для вас.

...