这是我的HTML结构:
<div id="divImporte">
<p class="btn01">
<input type="button" name="Enviar Tasas" value="Enviar Tasas">
</p>
</div>
这是我尝试选择输入的方式:
第一种方式:
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"
我该如何解决?谢谢
2条答案
按热度按时间cnh2zyt31#
有时候
puppeteer
由于某种原因无法单击,所以在仔细检查buttonTasas
不为null并尝试在调用click()
方法之前添加一些延迟之后,您可以尝试以下解决方法直接在页面中调用click函数:使用
page.evaluate
(https://pptr.dev/api/puppeteer.page.evaluate):或者你可以直接使用这个元素:
使用
page.$eval
(https://pptr.dev/api/puppeteer.page._eval):kq0g1dla2#
浏览器的UI工具通常有白色的问题。尝试使用不带空格或新行的表达式搜索元素。您可以在CSS表达式中使用
*=
查找字符串中的单词:或