当前位置: 首页 > 知识库问答 >
问题:

如何使用java selenium处理确认对话框

臧曜瑞
2023-03-14

我试图找出如何单击按钮“停用”。这是html代码:

<div class="ui-widget-overlay" style="width: 1328px; height: 1063px; z-index: 1001;"></div>

<div class="ui-dialog ui-widget ui-widget-content ui-corner-all" style="display: block; z-index: 1002; outline: 0px none; height: auto; width: 640px; top: 737.4px; left: 173px;" tabindex="-1" role="dialog" aria-labelledby="ui-dialog-title-1">

    <div class="ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix" unselectable="on" style="-moz-user-select: none;">
        <span id="ui-dialog-title-1" class="ui-dialog-title" unselectable="on" style="-moz-user-select: none;"></span>
        <a class="ui-dialog-titlebar-close ui-corner-all" href="#" role="button" unselectable="on" style="-moz-user-select: none;">
            <span class="ui-icon ui-icon-closethick" unselectable="on" style="-moz-user-select: none;"></span>
        </a>
    </div>
    <div class="confirmDialog ui-dialog-content ui-widget-content" style="width: auto; min-height: 134.133px; height: auto;">
        <span class="closeButton"></span>
        <h3></h3>
        <p></p>
        <p></p>
        <div class="buttonRow">
            <button class="negative cancel" type="button"></button>
            <button class="deactivate" type="button"></button>
        </div>
    </div>

</div>

我试着这样点击这个按钮:

@FindBy(className = "deactivate")
private WebElement deactivateButton;
WebDriverWait wait =new WebDriverWait(driver,15);
    wait.until(ExpectedConditions.elementToBeClickable(deactivateButton));
 deactivateButton.click();

但是这没有帮助

共有1个答案

楚骞尧
2023-03-14

代替elementToBeClickable,请尝试像下面这样的可见性。它更干净。:

WebDriverWait wait =new WebDriverWait(driver,20);
    wait.until(ExpectedConditions.visibilityOf(deactivateButton));
 deactivateButton.click();
 类似资料:
  • 我有客户通过不同的方式发送请求,比如web请求、http请求、soap请求或其他渠道。 在 Camel 中,我从各自的endpoint接收它到 jms 队列。从队列处理器拾取消息。现在处理器需要根据客户端的偏好(它们在传入请求中发送)向客户端发送确认。偏好可以是他们希望通过Web服务或JMS或文件系统接收确认。 我认为它可以以某种方式完成 http://camel.apache.org/reque

  • 问题内容: 我正在努力在程序中实现一个对话框。主程序不使用阶段。但是,当用户的生存时间为0时,我想弹出一个对话框,以重新启动游戏或退出游戏。 我使用以下代码为对话框创建了一个单独的类。 游戏主屏幕不使用舞台。在更新方法中,如果肝脏为0,则创建GameOver类 在render方法中,我绘制了舞台 第一次创建对话框时,这可以完美地工作。当点击重新启动时,游戏将重新启动(或实际上重置比分并生效)。但是

  • 问题内容: 我希望此链接具有一个JavaScript对话框,询问用户“ 您确定吗? 是/否 ”。 如果用户单击“是”,则链接应该加载,如果“否”,则什么也不会发生。 我知道如何通过运行返回或的函数以表格形式进行操作。但是,我该如何使用链接呢? 问题答案: 内联事件处理程序 以最简单的方式,您可以在内联处理程序中使用该函数。 高级事件处理 但是通常情况下,您希望将HTML和Javascript分开,

  • 问题内容: 我正在开发一个程序,该程序可以从文本文件加载和保存数据,并且正在询问用户加载和保存JFileChooser的文件名。 这个问题与 保存 对话框有关:。然后,用户可以在没有任何警告的情况下覆盖现有文件,这 将是一个问题 。 关于如何解决此问题的任何建议?我一直在寻找某种方法或选项,但没有发现任何东西。 提前致谢。 问题答案: 感谢您提供答案,但是我发现了另一个解决方法,可以用这种方法覆盖

  • 问题内容: 我必须处理打印对话框(在浏览器中单击ctrl-p时出现的对话框)。我尝试过: 但这没用。我也抓不到它的窗口句柄,因为它不是窗口… 是否可以处理这些对象?如何处理? 问题答案: 不幸的是,WebDriver无法处理这些(或任何其他浏览器或OS对话框)。此外,它们在浏览器/系统/语言设置中的外观往往有所不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都有效。您

  • 问题内容: 我必须处理打印对话框(在浏览器中单击ctrl-p时出现的对话框)。我尝试了: 但这没用。我也抓不到它的窗口句柄,因为它不是窗口… 是否可以处理这些对象?如何处理? 问题答案: 不幸的是,WebDriver无法处理这些(或任何其他浏览器或OS对话框)。此外,它们在浏览器/系统/语言设置中的外观往往有所不同,因此可能没有明确的答案。您需要检测并处理所有可能的情况,以使其在任何地方都有效。您