【问题标题】:How to generate a javascript alert with a small string message using Selenium Java WebDriver如何使用 Selenium Java WebDriver 生成带有小字符串消息的 javascript 警报
【发布时间】:2017-08-20 15:40:02
【问题描述】:

我正在尝试在 Selenium Java 程序运行时生成或弹出带有字符串消息的 java 脚本警报窗口。我在某处读到我们可以在 Selenium 中执行 javascript,就像..
您可以直接在隐藏元素上执行javascript并设置属性:

WebDriver driver;
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("document.getElementById('auth_login_password').setAttribute('value', val );");
driver.ExecuteScript(string.Format("document.getElementById('cred-password-inputtext').value='{0}';",password));

如何修改以写出 java 脚本警报?如果可行的话,我也想把它作为调试工具使用。

【问题讨论】:

  • 我不建议这样做。我将学习如何使用您使用的 IDE 调试程序。一旦你学会了如何使用它们,这将提供更好的调试工具。
  • 我已经考虑过了。但我的技术组合是 Selenium 和 Java,作为 groovy 项目执行。据我所知,Eclipse(Neon) IDE 中的 groovy 代码调试工具不可用。我尝试了几个建议,但没有成效。只有一件事,我手头有来自 groovy 代码的 'println() 语句,当程序运行时没有抛出异常时,这是可以的。一旦抛出异常,就没有真正的帮助,因为 println 语句直到行点才被打印,异常被抛出。他们很早就停下来了。

标签: javascript java selenium selenium-webdriver


【解决方案1】:

要创建 javascript 警报,您可以使用:

public void triggerAlert(String alertMessage){
            JavascriptExecutor js = (JavascriptExecutor) driver;
            js.executeScript("alert('"+alertMessage+"');");
        }

但是你应该将参数添加到chromeOptions默认不接受警报

ChromeOptions options = new ChromeOptions();
options.setUnhandledPromptBehaviour(UnexpectedAlertBehaviour.IGNORE);

【讨论】:

    【解决方案2】:

    在您想要接收警报的代码中添加以下行:

    JavascriptExecutor js = (JavascriptExecutor) driver;
    
    js.executeScript("alert('I am an alert box!')");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 2017-06-23
      • 2014-04-27
      • 2012-01-04
      • 1970-01-01
      • 2016-06-13
      相关资源
      最近更新 更多