C# 单击下拉列表中的列表项
我在与自定义下拉控件交互时遇到问题。它可以正常工作前6次,但之后,由于屏幕的大小,它无法再找到并单击下拉控件中的选项,返回异常-无法单击隐藏控件。我试着输入一个itemField.DrawHighlight();在我正在寻找的控件上,它找到了它,但是它无法单击它。我还尝试向下滚动,但似乎不起作用C# 单击下拉列表中的列表项,c#,visual-studio-2013,coded-ui-tests,C#,Visual Studio 2013,Coded Ui Tests,我在与自定义下拉控件交互时遇到问题。它可以正常工作前6次,但之后,由于屏幕的大小,它无法再找到并单击下拉控件中的选项,返回异常-无法单击隐藏控件。我试着输入一个itemField.DrawHighlight();在我正在寻找的控件上,它找到了它,但是它无法单击它。我还尝试向下滚动,但似乎不起作用 bool addItemCheck = false; int scrollCheck = 0; while (Check == false) { var addItem= new HtmlBut
bool addItemCheck = false;
int scrollCheck = 0;
while (Check == false)
{
var addItem= new HtmlButton(window);
addItem.SearchProperties.Add(HtmlButton.PropertyNames.Id, "add-new-item");
Mouse.Click(addItem);
scrollCheck = scrollCheck + 1;
if (scrollCheck > 6)
{
Mouse.MoveScrollWheel(window, -100);
}
var itemDropDown = new HtmlSpan(window);
itemDropDown .SearchProperties.Add(HtmlSpan.PropertyNames.Class, "item-dropdown");
itemDropDown .SearchProperties.Add(HtmlSpan.PropertyNames.InnerText, "Select an Item");
Mouse.Click(itemDropDown );
addItemCheck = itemDropDown.Exists;
}
bool itemBoxCheck = false;
HtmlCustom itemBox = null;
while (itemBoxCheck == false)
{
itemBox = new HtmlCustom(window);
itemBox.SearchProperties.Add(HtmlCustom.PropertyNames.Id, "item-listbox");
var itemField = new HtmlCustom(itemBox);
itemField .SearchProperties.Add(HtmlCustom.PropertyNames.InnerText, item);
Mouse.Click(itemField);
itemBoxCheck = itemBox.Exists;
}
我真的很感激任何帮助。谢谢。尝试在控件上调用方法InsureClickable(),然后再尝试单击它 例如:
itemDropDown.EnsureClickable();
Mouse.Click(itemDropDown);
编辑:
如果这不起作用,你将不得不向下滚动到该项目
尝试使用:
Mouse.MoveScrollWheel()
如果这也不起作用,您必须映射滚动控件并单击它。您好,我很感谢@barakcaf的回答。恐怕不行,我试过:
var itemField=new-HtmlCustom(itemBox)代码>itemField.SearchProperties.Add(HtmlCustom.PropertyNames.InnerText,项目)代码>itemField.EnsureClickable()代码>鼠标。单击(项目字段)代码>它执行相同的行为并返回异常。再次感谢你的帮助。哇,真是太遗憾了,你是怎么在这里断线的?我已经编辑了答案-希望它能起作用-不要羞于投票:)