gpt4 book ai didi

javascript - 守夜人 : Using custom commands to iterate over all select tags

转载 作者:行者123 更新时间:2023-11-29 18:13:00 25 4
gpt4 key购买 nike

我为 Nightwatch 中的 UI 测试创建了这个自定义命令。这是完整的:

exports.command = function(element, callback) {

var self = this;

try {

this.waitForElementVisible('body', 15000);
console.log("trying..");
window.addEventListener('load', function() {

var selects = document.getElementsByName("select");
console.log(selects);

}, false);


} catch (err) {
console.log("code failed, here's the problem..");
console.log(err);
}

this
.useXpath()
// click dropdowns
.waitForElementVisible(element, 15000)
.click(element)
.useCss()
.waitForElementVisible('option[value="02To0000000L1Hy"]', 15000)
// operation we want all select boxes to perform
.setValue('option[value="02To0000000L1Hy"]', "02To0000000L1Hy")
.useXpath()
.click(element + '/option[4]');

if (typeof callback === "function") {
callback.call(self);
}
return this; // allows the command to be chained.

};

我试图做的是在加载页面后,我想检索所有选择框并对它们执行相同的操作。除了 try/catch block 中的代码外,一切都正常工作。我不断收到“[ReferenceError: window is not defined]”,我不确定如何解决这个问题。

最佳答案

'window' 属性在全局范围内未定义,因为它是通过命令行 Node 运行的,而不是像最初假设的那样在浏览器中运行。

您可以尝试使用 Nightwatch API 中的 this.injectScript,但我建议使用 Selenium Protocol API 'elements'

关于javascript - 守夜人 : Using custom commands to iterate over all select tags,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25649589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com