我有一个在窗口中看不到的Wincontrol,我必须拖动滚动条才能看到它。如何使用编码的UI访问wincontrol
答案 0 :(得分:0)
如果SetFocus不起作用,那么您可以移动滚动条,直到控件可以像Ralt建议的那样可见。我使用以下示例解决了一个类似问题。代码将点击位于其最下方点上方的滚动条。根据需要单击多次。
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 )));
}
答案 1 :(得分:0)
获取下面的javascript并在你的点击命令之前插入它(将滚动高度设置为你想要它从页面底部的高度,在我的情况下我使用的是5)。这实际上不是最好或最实用的编码方式,但这比其他编码解决方案更方便,工作频率更高。
((IJavaScriptExecutor)_driver).ExecuteScript("window.scrollTo(0, document.body.scrollHeight - 5)");
这应该有用,不应该要求您添加更多引用或创建任何新变量 - 但请务必将_driver
变量更改为您的变量!
很可能"浏览器"如果没有,或者您不知道要使用哪个变量,最好使用windows system命令。希望这有帮助。