Node.js page.click是否将值属性用作选择器?
问题: 由于各种原因,选择器可能会随机更改,因此,使用选择器并不能保证始终成功。这是我使用选择器的代码Node.js page.click是否将值属性用作选择器?,node.js,puppeteer,Node.js,Puppeteer,问题: 由于各种原因,选择器可能会随机更改,因此,使用选择器并不能保证始终成功。这是我使用选择器的代码 await page.click('body > div.api-container > div > div.clearAll > form > input[type="submit"]:nth-child(3)'); 是否可以改为使用page.click来单击基于“value”属性的元素?以下是HTML: <input name="submit" typ
await page.click('body > div.api-container > div > div.clearAll > form > input[type="submit"]:nth-child(3)');
是否可以改为使用page.click来单击基于“value”属性的元素?以下是HTML:
<input name="submit" type="submit" value="Accept">
正如您所看到的,该值将始终等于“Accept”,搜索页面并单击匹配元素将更容易
根据我的研究,它看起来像页面。$x(表达式)
可以工作,但我不确定如何编写表达式
非常感谢您的帮助
是否可以改用page.click来单击基于“value”属性的元素
是的,在您的初始选择器中已经有各种各样的选项,我说的是input[type=submit]
。除了类型
之外,元素还可以有任何其他属性,包括值
:
await page.click('input[value="Accept"]');
await page.click('input[name="submit"]');
您甚至可以省略元素的类型并仅通过其属性进行搜索:“[value=“Accept”]”
,但请记住,这种方法可能会找到多个结果,并且(很可能不是您所想到的结果),所以请先在真正的浏览器控制台中测试选择器