如何解决在元素内查找元素
我正在尝试在特定元素中查找元素。
我的 HTML 结构是这样的:
<div>
<label>test</label>
<div>
<a>testlink</a>
<input type='text'></input>
<textarea></textarea>
</div>
</div>
我有基于文本的标签,我试图在其兄弟下获取输入。我一开始想对它进行硬编码,但后来注意到我们有时在同级 div 下有一个额外的层,就像这样。
<div>
<label>test</label>
<div>
<div>
<a>testlink</a>
<input type='text'></input>
<textarea></textarea>
</div>
</div>
</div>
我尝试过的是:
const labelElement = await Selector('label').withText('test')
const inputField = labelElement.sibling('div').find('input').withAttribute('type','text')
问题是我正在返回页面上的所有输入,而不仅仅是这一输入。我想这就是 find 的作用。
有没有办法只获取我需要的输入?
解决方法
Selector.sibling()
返回元素,Selector.find()
返回节点。两者都可以返回不止一个“东西”。
我会尝试使用 Selector.nth()
,例如:
const labelElement = await Selector('label').withText('test')
const inputField = labelElement.sibling('div').nth(0).find('input').withAttribute('type','text')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。