gpt4 book ai didi

javascript - 如何单击按钮直到依赖值达到某个值?

转载 作者:行者123 更新时间:2023-11-28 04:09:06 25 4
gpt4 key购买 nike

使用 Protractor ,我尝试自动化 UI 的一部分,其中使用加减按钮选择最小最大范围(即 100'000-200'000)。

有一个inputAmount (即 250'000),定义要选择的范围。现在我应该点击plus-button直到我得到一个范围 200'000-300'000,由动态调整的 <div class="currentMax">100'000</div> 标识。 .

我的问题是转换 currentMax当前选定范围从字符串到数字的范围,因此我可以将其与 inputAmount 进行比较。HTML 看起来像这样:

<html>
<div class="max">100'000</div>
<div class="slider-buttons">
<div class="slider-button">
<div class="slider-button-plus"></div>
</div>
<div class="slider-button">
<div class="slider-button-minus"></div>
</div>
</div>
</html>

我的 Protractor 代码如下所示:

this.selectAmountRange = function() {
var currentMax = $('.max').getText(); //How do I get this value as number?
var btnPlus = $('.slider-buttons .slider-button-plus');
for (i = currentMax; i <= inputAmount; i = currentMax) {
btnPlus.click();
browser.wait(300);
};
};

一个问题是currentMax是用“'”进行千位分隔的,所以我无法直接转换它。另一个问题是, getText() 返回一个 promise ,但即使我找到了一些示例,到目前为止我也无法获取字符串,甚至删除分隔符。

我尝试过这个,但没有成功。

var currentMax = $('.max').getText().then(function(value){
value.replace(/\'/,'');
});

由于我对 JavaScript 和 Protractor 还很陌生,我认为这只是我做错的一些语法。感谢您提供任何建议并插入实现可行的功能。

最佳答案

由于 javascript 是异步的,因此您需要在访问 Promise 的返回值之前解析 Promise。在您的情况下,您需要实现递归以使您的方法单击 slider 直到设置所需的值。看看下面的例子。

var selectAmountRange = function(inputAmount) {
$('.max').getText().then(function(currentMax){
var btnPlus = $('.slider-buttons .slider-button-plus');
if(currentMax < selectAmountRange){
btnPlus.click();
browser.sleep(3000);
selectAmountRange(inputAmount); //call the same method untill required inputAmount is selcted.
}
};
};

关于javascript - 如何单击按钮直到依赖值达到某个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46452454/

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