如何找到一个非描述性的单选按钮元素,并在操纵p中单击它?
我看过很多文章说,“只需使用评价()然后单击它”或类似内容,在我的情况下就行不通了。
这是我所拥有的:
page.on('console', consoleObj => console.log(consoleObj.text()));
await page.evaluate(() => {
let container = document.getElementById('container');
let options = container.getElementsByClassName('labels');
// OPTIONS GIVES ME AN ARRAY OF JSHandle@node.
if (options.length > 0) {
for (let radio of options) {
let value = radio.value;
console.log(value);
}
}
});
我不知道该怎么办。值始终为空。
我需要知道它的value
才能知道是否单击它。我打算传入一个变量进行评估,然后根据该变量单击正确的变量。
如果我只是将radio.click()
放在for循环中,它的工作方式是单击每个元素,并总是在最后一个被选择的元素上结束。所以我知道click()
有用。我该如何确定要单击的那一个,然后选择它?
以下是HTML中的两个单选按钮元素:
<input name="choice" value="accept" class="checkbox" type="radio">
<input name="choice" value="reject" class="checkbox" type="radio">
答案 0 :(得分:1)
为什么不使用getElementsByName?
page.on('console', consoleObj => console.log(consoleObj.text()));
await page.evaluate(() => {
let options = container.getElementsByName('choice');
if (options.length > 0) {
for (let radio of options) {
let value = radio.value;
console.log(value);
}
}
});