gpt4 book ai didi

javascript - Promise 在 selenium-webdriver 中返回未定义

转载 作者:行者123 更新时间:2023-12-03 05:07:44 24 4
gpt4 key购买 nike

该函数返回未定义的值而不是元素的大小。我无法以其他方式编写它,因为我对 Promise 不太熟悉。我如何重写它,以便它不返回未定义而是返回已解决的 promise ?

控制台:预期未定义小于未定义。

var s1 = utilitiesPageObject.getElemSize("css", "#main-content > div > div > div.col-xs-12.col-md-6.align-left");
driver.findElement(By.css('#main-content > div > div > div.col-xs-12.col-md-6.align-left > div.slide-down-container > div.slide-down-btn.btn')).click()
var s2 = utilitiesPageObject.getElemSize("css", "#main-content > div > div > div.col-xs-12.col-md-6.align-left")
expect(s1).toBeLessThan(s2);

并从utilitiesPageObject中获取函数getElemSize

getElemSize(css, elem){
switch(css) {
case 'css':
this.driver.findElement(By.css(elem)).getSize().getHeight.then(s => {return s});
break;
case 'xpath':
this.driver.findElement(By.xpath(elem)).getSize().getHeight.then(s => {return s});
break;
default:
return null;
}
}

最佳答案

您忘记了 getElemSize 函数中的 return 语句:

getElemSize(css, elem){
switch(css) {
case 'css':
return this.driver.findElement(By.css(elem)).getSize().getHeight.then(s => {return s});
break;
case 'xpath':
return this.driver.findElement(By.xpath(elem)).getSize().getHeight.then(s => {return s});
break;
default:
return Promise.reject();
}
}

现在 getElemSize 返回一个 promise 。

关于javascript - Promise 在 selenium-webdriver 中返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41955164/

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