gpt4 book ai didi

javascript - 以 Selenium WD 作为 promise 从标签文本获取输入

转载 作者:行者123 更新时间:2023-11-27 23:41:08 27 4
gpt4 key购买 nike

我正在寻找从标签 for 获取输入属性。

下面是一些 HTML 示例:

<label for='input_6_36' >Label String</label>
<input name='input_36' id='input_6_36' type='text'>

上面是动态生成的,所以我无法硬编码 ID 来获取我的输入,因此以这种方式处理它的原因。

这是我的自定义 promise 方法。

wd.addPromiseChainMethod(
'inputFromLabel',
function(text) {
return this
.elementByXPath("//label[contains(., '" + text + "')]")
.getAttribute('for', function(val) {
console.log(val);
});
}
);

其中的实现如下:

it.only('test name', function(done) {
this.page
.inputFromLabel('Label String').type('test')
.nodeify(done);
});

所以按照我的习惯inputFromLabel Promise 方法,我想从获取的 for 返回输入值。

我知道此时此刻,我的自定义方法不会返回输入。

我需要从当前记录到控制台的值中获取输入,但我似乎无法使用给定的 ID 来获取元素?

以下是我想遵循的一系列步骤:

  • 从给定文本中获取标签(工作)
  • 获取for标签中的属性(工作)
  • 使用 ID 从中获取值的输入(不起作用)
  • 返回该输入以允许进一步链接(在本例中为 type() 方法)

如何返回输入?

最佳答案

试试这个,我认为这可能有用:

wd.addPromiseChainMethod(
'inputFromLabel',
function(text) {

var browser = this;

return browser
.elementByXPath("//label[contains(., '" + text + "')]")
.getAttribute('for')
.then(function(value) {
return browser.elementById(value);
});
});

关于javascript - 以 Selenium WD 作为 promise 从标签文本获取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33647712/

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