我正在尝试使用Selenium IDE测试注册表单,但是在使用Chosen库中的select元素时出现问题: http://harvesthq.github.io/chosen/
我想知道你是否可以帮助我选择一个选项的命令(顺便提一下可能是任何选项)。我无法通过简单的mouseDown打开下拉列表。这是一个包含单选和多选的示例网页(从上面的存储库下载源文件。
<html>
<head>
<link rel="stylesheet" href="chosen/public/chosen.min.css">
<link rel="stylesheet" href="chosen/public/chosen.jquery.min.css">
<script src="jquery-1.10.2.min.js"></script>
<script src="chosen/public/chosen.jquery.min.js"></script>
</head>
<body>
<select multiple class="chzn-select" style="width: 150px;">
<option value="Test 1">Test 1</option>
<option value="Test 2">Test 2</option>
<option value="Test 3">Test 3</option>
</select>
<br><br>
<select class="chzn-select" style="width: 150px;">
<option value="Test A">Test A</option>
<option value="Test B">Test B</option>
<option value="Test C">Test C</option>
</select>
<script type="text/javascript">
$(".chzn-select").chosen();
</script>
</body>
</html>
答案 0 :(得分:6)
好的,我确实设法自己破解它,它就像:
命令:clickAt
目标:css =#id_country_chzn_o_1
(选择国家/地区列表中的第一项,使用Firebug查找您的ID名称)
答案 1 :(得分:1)
以下步骤解决了此问题: 第01步。
Command: clickAt
Target: id=iNationality_chosen
步骤02。
Command: clickAt
Target: css=div[id='iNationality_chosen'] div ul li:nth-child(2)
注意01: iNationality _chosen在这里你可以用你的元素ID替换id
注意02:li:nth-child( 2 ),您可以在这里提供您想要选择的任何号码。 2将选择第二个孩子(选项列表)。
答案 2 :(得分:0)
我之前有同样的问题。解决方案非常简单和正常。这是Selenium IDE中Select命令的最佳实践。这是:
例如:
答案 3 :(得分:0)
我使用selenium api和robotframework有类似的问题。该元素无法点击,因为已选择添加display:none
。我通过执行删除style属性的jquery javascript解决了这个问题。
在机器人框架风格中:
执行Javascript $(“#id”)。removeAttr(“style”);
其中id是select的id。