Java / SeleniumWebDriver - 单击带有Selenium的JQuery对话框按钮

时间:2013-05-14 07:04:13

标签: java jquery selenium

我目前正在尝试使用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 个答案:

答案 0 :(得分:4)

尝试以下代码。

 driver.findelement(By.xpath("//button[@type='button']/span[text()='Create Employee']")).click();

答案 1 :(得分:1)

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

而不是:

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

写:

$("#stuff").dialog({
    buttons: {
            "Yes": { text: "Yes",
                     id: "#mystuff-yes",
                     click: function() {

答案 2 :(得分:0)

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

答案 3 :(得分:-1)

如果您的文字没有变化,您可以使用:

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

<强> Demo