"Error: Node is either not clickable or not an HTMLElement" Puppeteer when i tried to get input by name
"Error: Node is either not clickable or not an HTMLElement" Puppeteer when i tried to get input by name
这是我的 HTML 结构:
<div id="divImporte">
<p class="btn01">
<input type="button" name="Enviar Tasas" value="Enviar Tasas">
</p>
</div>
这就是我尝试 select 输入的方式:
第一种方式:
const buttonTasas = await page.$$("input[type='button'][value='Enviar Tasas']");
第二种方式:
const buttonTasas = await page.waitForSelector("input[type='button'][value='Enviar Tasas']");
然后点击它:
if (buttonTasas && buttonTasas.length > 0) {
await buttonTasas[0].click();
}
我收到这个错误:
"Error: Node is either not clickable or not an HTMLElement"
我该如何解决?谢谢
有时 puppeteer
由于某种原因无法点击,所以在仔细检查 buttonTasas
不为 null 并尝试在调用 click()
方法之前添加一些延迟之后,您可以尝试以下解决方法直接在页面调用点击功能:
page.evaluate((btnSelector) => {
// this executes in the page
document.querySelector(btnSelector).click();
}, "input[type='button'][value='Enviar Tasas']");
或者您可以直接使用该元素:
page.evaluate((btn) => {
// this executes in the page
btn.click();
}, buttonTasas);
UI 浏览器工具通常有空格问题。尝试使用不带任何空格或换行符的表达式搜索元素。您可以使用 *=
in CSS 表达式在字符串中查找单词:
await page.$$("input[type='button'][value*='Enviar']");
或
await page.$$("input[type='button'][value*='Enviar'][value*='Tasas']");
这是我的 HTML 结构:
<div id="divImporte">
<p class="btn01">
<input type="button" name="Enviar Tasas" value="Enviar Tasas">
</p>
</div>
这就是我尝试 select 输入的方式:
第一种方式:
const buttonTasas = await page.$$("input[type='button'][value='Enviar Tasas']");
第二种方式:
const buttonTasas = await page.waitForSelector("input[type='button'][value='Enviar Tasas']");
然后点击它:
if (buttonTasas && buttonTasas.length > 0) {
await buttonTasas[0].click();
}
我收到这个错误:
"Error: Node is either not clickable or not an HTMLElement"
我该如何解决?谢谢
有时 puppeteer
由于某种原因无法点击,所以在仔细检查 buttonTasas
不为 null 并尝试在调用 click()
方法之前添加一些延迟之后,您可以尝试以下解决方法直接在页面调用点击功能:
page.evaluate((btnSelector) => {
// this executes in the page
document.querySelector(btnSelector).click();
}, "input[type='button'][value='Enviar Tasas']");
或者您可以直接使用该元素:
page.evaluate((btn) => {
// this executes in the page
btn.click();
}, buttonTasas);
UI 浏览器工具通常有空格问题。尝试使用不带任何空格或换行符的表达式搜索元素。您可以使用 *=
in CSS 表达式在字符串中查找单词:
await page.$$("input[type='button'][value*='Enviar']");
或
await page.$$("input[type='button'][value*='Enviar'][value*='Tasas']");