【问题标题】:Get text element from a javascript alert using webdriver使用 webdriver 从 javascript 警报中获取文本元素
【发布时间】:2014-03-25 23:49:26
【问题描述】:

我在 c# 中使用 selenium webdrive 来学习和编写自动化测试,我遇到过这种情况:

假设您有一个这样的网站:http://referencewebapp.qaautomation.net/register.php,然后您会收到带有错误消息的弹出窗口作为 javascript 警报(例如,如果您在未填写任何信息的情况下按注册)。我需要做的是检查警报中的错误消息(文本)。

我无法使用 driver.FindElement 或 drive.PageSource,因为我看不到它的源代码。我读到了关于尝试选择/更改框架(Selenium cannot get alert thrown in iframe),但我不知道 frameID 是如何。有什么办法可以找到并检查该文本吗?

感谢您的任何建议。

【问题讨论】:

    标签: c# javascript selenium selenium-webdriver


    【解决方案1】:
     driver.SwitchTo().Alert().Text;
    

    应该是你所需要的。

    【讨论】:

    • 非常感谢!完成了这项工作!
    【解决方案2】:

    您可以尝试使用 selenium Alert 对象获取警报(对话框)的文本。

    例如:

        Alert alert = driver.switchTo().alert();
        String alertText = alert.getText();
        if (alertText.equals("error...")) {
    
            // Do Something...
    
            // dismiss alert
            alert.dismiss();
    
        }
    

    更多信息在selenium 2.0 documentation.

    【讨论】:

    • 谢谢,这很有帮助!
    猜你喜欢
    • 2021-09-02
    • 2014-09-27
    • 1970-01-01
    • 2021-11-14
    • 2021-06-15
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    相关资源
    最近更新 更多