c# - 使用 FlaUI 的电影和电视的 SetScrollPercent
问题描述
我尝试了下面的代码:
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。
我怎样才能自动化呢?
解决方案
我用RangeValue
而不是ScrollItem
现在它正在工作!
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();
}
}
}
推荐阅读
- visual-studio-code - 是否有 VS 代码扩展来显示 css 的选项列表?
- java - java中一个简单的merkle-tree实现
- excel - 如何使用此代码修复编译错误?
- r - 是否可以对聚合的 dcast 值进行操作?
- javascript - Vue 将选项传递给单独组件中加载的插件
- python-3.x - 将 Azure Functions 部署到 Azure 时出现 bcrypt 错误
- sql - postgreSQL中的PGresult如何成为指针?
- android - 如何在android中不使用zxing创建QR?
- python - Python 多处理,无法使用 pool.map 进行迭代
- html - 页脚浮动到页面中间