1

我目前正在尝试使用 Selenium WebDriver 测试一个对话框,但“创建员工”按钮没有 id 也没有名称。这就是代码的样子。

<div class="ui-dialog-buttonpane ui-widget-content ui-helper-clearfix">
    <div class="ui-dialog-buttonset">

         <button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
              <span class="ui-button-text">Create Employee</span>
         </button>

         <button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
              <span class="ui-button-text">Cancel</span>
         </button>

    </div>

         <button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
              <span class="ui-button-text">Create Employee</span>
         </button>

         <button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button" aria-disabled="false">
              <span class="ui-button-text">Cancel</span>
         </button>

</div>

任何人都可以向我提供将单击对话框中的按钮的java代码吗?谢谢

4

4 回答 4

4

试试下面的代码。

 driver.findelement(By.xpath("//button[@type='button']/span[text()='Create Employee']")).click();
于 2013-05-14T07:27:49.647 回答
1

作为 xpath 的替代品,我发现这对新手来说很麻烦,我发现 jQueryUI 对话框可以将 ID 添加到结果中。

代替:

$("#stuff").dialog({
    buttons: {
            "Yes": function() {

写:

$("#stuff").dialog({
    buttons: {
            "Yes": { text: "Yes",
                     id: "#mystuff-yes",
                     click: function() {
于 2013-12-20T19:05:24.623 回答
0

如果您无法选择任何元素,我建议您使用xpath 我建议在您的浏览器上安装一些插件或扩展,以获取xpath您想要交互的元素。然后将该 xpath 用于您的目的。

于 2013-05-14T07:22:42.970 回答
-1

如果您的文本没有改变,您可以使用:

$('.ui-button-text').click(function() {
    if($(this).text() == 'Create Employee') {
        // Your code here
    }
});

演示

于 2013-05-14T07:12:28.827 回答