Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#自动化:获取下拉值并存储禁用值_C#_Selenium - Fatal编程技术网

C#自动化:获取下拉值并存储禁用值

C#自动化:获取下拉值并存储禁用值,c#,selenium,C#,Selenium,我想要一个在TFS中使用selenium web驱动程序库为C#Automation编写脚本的解决方案,我必须存储所有禁用的值,然后单击它们。实际上,验证就像我不能在下拉列表中单击禁用的值一样。因此,我需要两方面的帮助: 我想先存储禁用的值,然后再存储 我想对它们进行迭代 要编写布尔/任意函数进行验证,我无法单击该值 代码如下: <select name="ctl00" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ctl0

我想要一个在TFS中使用selenium web驱动程序库为C#Automation编写脚本的解决方案,我必须存储所有禁用的值,然后单击它们。实际上,验证就像我不能在下拉列表中单击禁用的值一样。因此,我需要两方面的帮助:

  • 我想先存储禁用的值,然后再存储

  • 我想对它们进行迭代

  • 要编写布尔/任意函数进行验证,我无法单击该值

代码如下:

<select name="ctl00" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ctl00$\',\'\')', 0)" id="ctl00_ctl00_" style="width:200px;">
<option value="1" disabled="disabled">A</option>
<option selected="selected" value="2" enabled="enabled">B</option>
<option value="3" disabled="disabled">C</option>
<option value="4" disabled="disabled">D</option>

</select>

A.
B
C
D
所以,A、C和D是我想要验证的选项。 需要帮助:)
提前感谢

我使用类似的方法在页面中搜索“正在加载”类,以检查加载元素。我重新选择检查“禁用”类,将它们传递到数组中,然后单击。未经测试,但希望能为您指明正确的方向

新建WebDriverWait(驱动程序,MyDefaultTimeout)
.直到(e=>((IJavaScriptExecutor)e)
.ExecuteScript(“)+
“做{”+
//查找加载元素
“var element=document.getElementsByClassName('disabled')+
//创建元素数组
“var elementList=Array.prototype.slice.call(element);”+
“如果(!elementList==undefined&!elementList==0){”+
//映射Id和属性
“var array=elementList.map(函数(v){return{'ID':v.ID}});”+/“'Attr':v.getAttribute('data-custAtt')”+
//禁用对象的输出数组
“console.log(数组);”+
//检查数组是否为空
“如果(!array==未定义&&!array.length==0){”+
//单击“禁用元素”
“var i;”+

“对于(i=0;ii)如果你想要一个C#解决方案,为什么要标记VB.NET?我真的很抱歉,谢谢你的编辑。如果有人能从C#团队得到帮助,谢谢。但是我想要一个简单的代码片段来实现。不过我还是会尝试实现这个