C# 我想使用编码的用户界面单击窗口中不可见的Wincontrol
我有一个Wincontrol在窗口中不可见,我必须拖动滚动条使其可见。如何使用编码用户界面访问wincontrol如果设置焦点不起作用,则可以移动滚动条,直到控件可见,如Ralt所建议的那样。我使用以下示例解决了一个simlar问题。代码将单击略高于其最底部点的滚动条。根据需要多次单击C# 我想使用编码的用户界面单击窗口中不可见的Wincontrol,c#,automation,coded-ui-tests,C#,Automation,Coded Ui Tests,我有一个Wincontrol在窗口中不可见,我必须拖动滚动条使其可见。如何使用编码用户界面访问wincontrol如果设置焦点不起作用,则可以移动滚动条,直到控件可见,如Ralt所建议的那样。我使用以下示例解决了一个simlar问题。代码将单击略高于其最底部点的滚动条。根据需要多次单击 public void ScrollSlide(UITestControl scrollBar) { Point bottomOfScrollBar = new Point(scr
public void ScrollSlide(UITestControl scrollBar)
{
Point bottomOfScrollBar = new Point(scrollBar.Left + (scrollBar.Width / 2), scrollBar.Top + (scrollBar.Height - (scrollBar.Height / 20)
Mouse.Move(null, new Point(scrollBar.Left + (scrollBar.Width / 2), scrollBar.Top + (scrollBar.Height - (scrollBar.Height / 15))));
Mouse.Move(null, bottomOfScrollBar )));
Mouse.DoubleClick(null, bottomOfScrollBar ))));
Mouse.DoubleClick(null, bottomOfScrollBar )));
Mouse.DoubleClick(null, bottomOfScrollBar )));
}
在单击命令之前插入下面的javascript,将滚动高度设置为从页面最底部开始所需的高度,在我的例子中,我使用的是5。这确实不是编码的最佳或最实用的方法,但它比其他编码解决方案更方便、更有效
((IJavaScriptExecutor)_driver).ExecuteScript("window.scrollTo(0, document.body.scrollHeight - 5)");
这应该是可行的,并且不需要您添加任何更多的引用或创建任何新变量-但是请确保您将_driver变量更改为您的变量
很可能是浏览器,如果不知道或不知道使用哪个变量,最好使用windows系统命令。希望这有帮助。您是否可以使用编码的UI在滚动条上拖动控件,使其可见,然后测试现在可见的控件?您是否尝试过确保可单击。您是否尝试过设置焦点?我将尝试此选项。设置焦点不起作用。。thanx all