javascript - 如何使用 Protractor 获取 Javascript 提示值?

标签 javascript angularjs protractor

在我的页面中,我使用以下代码打开提示:

prompt('CopyURL','http://www.google.com');

在 Protractor 中我可以获取文本,但我不知道如何获取值。为了获取文本,我使用以下代码:

var alertDialog = browser.switchTo().alert();
expect(alertDialog.getText()).toEqual('Copy URL');

如何使用 Protractor 获取 'http://www.google.com'

谢谢!!

最佳答案

目前没有办法做到。但是,提示旨在让用户输入一个值,而不是获取您在 html 代码中传递的值。如果您在 DOM 中的某个位置使用在提示中传递的值,那么您可以获取该元素的值并使用传递的元素进行验证。这是一个示例方法 -

HTML 代码 -

<button onclick="myFunction()">Open Prompt</button>
<p id="demo"></p>

Javascript 代码 -

function myFunction() {
    var val = prompt("Name", "abc");
    if (val != null) {
        document.getElementById("demo").innerHTML = val;
    }
}

如上所示,您可以通过验证存储在 html 的 p 元素中的值来获取传递给提示的值。但是,如果您只想向用户显示一个值,在这种情况下是您的 url,那么我认为应该考虑使用普通警报来代替提示。希望对您有所帮助。

关于javascript - 如何使用 Protractor 获取 Javascript 提示值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32106457/

相关文章:

node.js - 使用 Selenium 服务器运行 Protractor 测试时遇到问题

protractor - 一个期望中的多个条件

javascript - jQuery addClass() 到 ul :nth-child?

javascript - 用于检查全局变量的 Ajax 回调

javascript - webpack.config.js 中的 json-loader 不起作用

javascript - 类型错误 : $controller is not a function + Controller inside controller

javascript - React 下拉列表不显示选项

javascript - 在 Angularjs 中使用 ng-bind-html 不显示 html 标签

angularjs - Angular 指令 - 当另一个指令也是隔离范围时更新父范围

javascript - 无法再在 Chrome 中打开和关闭标签页