我想单击一个display
属性为none
的元素。
我怎样才能做到这一点?
代码:
page.click(".foo");
答案 0 :(得分:2)
您可以使用JavaScript click
函数。此功能将触发元素的click事件,而不关心元素是否可见。
您需要使用page.evaluate
在页面内执行它。
示例:
await page.evaluate(() => {
document.querySelector('.foo').click();
});
答案 1 :(得分:0)
问题仍然存在,使用以下命令对我不起作用:await page.evaluate(()=> {document.querySelector('。foo')。click();});
花了至少半天的时间,我做了一个小技巧,将CSS的“显示”属性更改为“继承”,单击一个元素,然后将CSS的“显示”恢复为原始状态。
let inputCheckBox = await document.querySelector("input[type='checkbox']");
const cssDisplay = inputCheckBox.style.display;
if (!cssDisplay || 'none' === cssDisplay) {
inputCheckBox.style.display = 'inherit';
}
await inputCheckBox.click();
if (cssDisplay !== inputCheckBox.style.display) {
inputCheckBox.style.display = cssDisplay;
}