首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SetScrollPercent为电影和电视与FlaUI

SetScrollPercent为电影和电视与FlaUI
EN

Stack Overflow用户
提问于 2020-12-11 10:39:43
回答 1查看 100关注 0票数 3

我正在尝试自动化电影和电视过程滑块

我尝试了下面的代码:

代码语言:javascript
复制
using System;
using System.Diagnostics;
using FlaUI.UIA3;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Process[] AllProcesslist = Process.GetProcesses();

            foreach (Process Proc in AllProcesslist)
            {
                if (!String.IsNullOrEmpty(Proc.MainWindowTitle) && Proc.MainWindowTitle == "Movies & TV")
                {
                    Console.WriteLine("Window Found!");
                    var app = new FlaUI.Core.Application(Proc);
                    using (var automation = new UIA3Automation())
                    {
                        var window = app.GetMainWindow(automation);
                        var elem = window.FindFirstDescendant(cf => cf.ByAutomationId("ProgressSlider"));
                        Console.WriteLine(elem);
                        elem.Patterns.Scroll.Pattern.SetScrollPercent(20, -1);
                    }
                }
            }

            Console.Read();
        }
    }
}

但是它返回FlaUI.Core.Exceptions.PatternNotSupportedException: 'The requested pattern 'Scroll [#10004]' is not supported',我使用了FlaUInspect,然后我意识到它只支持ScrollItem和RangeValue,所以我将elem.Patterns.Scroll.Pattern.SetScrollPercent(20, -1)改为elem.Patterns.ScrollItem.Pattern.SetScrollPercent(20, -1),但是没有SetScrollPercent。

我怎么能把它自动化呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-13 10:25:14

我用的是RangeValue而不是ScrollItem,现在它开始工作了!

代码语言:javascript
复制
using System;
using System.Diagnostics;
using FlaUI.UIA3;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Process[] AllProcesslist = Process.GetProcesses();

            foreach (Process Proc in AllProcesslist)
            {
                if (!String.IsNullOrEmpty(Proc.MainWindowTitle) && Proc.MainWindowTitle == "Movies & TV")
                {
                    Console.WriteLine("Window Found!");
                    var app = new FlaUI.Core.Application(Proc);
                    using (var automation = new UIA3Automation())
                    {
                        var window = app.GetMainWindow(automation);
                        var elem = window.FindFirstDescendant(cf => cf.ByAutomationId("ProgressSlider"));
                        elem.Patterns.RangeValue.Pattern.SetValue(64);
                        Console.WriteLine(elem.Patterns.RangeValue.Pattern.Value);
                    }
                }
            }

            Console.Read();
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65249749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档