【发布时间】:2021-01-17 19:52:21
【问题描述】:
您好,我正在尝试检查页面上的元素是否可见。
首先我想说我知道这里的解决方案:
async function isVisible(page, selector) {
return await page.evaluate((selector) => {
var e = document.querySelector(selector);
if (e) {
var style = window.getComputedStyle(e);
return style && style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0';
}
else {
return false;
}
}, selector);
}
但这不适用于 xPaths。
是否有解决方案可以返回关于使用 xPath 的元素可见性的 true 或 false?
我在想这样的事情
async function isVisible(page, xPathSelector){}
//Returns true or false
await isVisible(page, "//button[type='button' and text() = 'Click Me']");
谢谢!
【问题讨论】:
-
你能对这个按钮更明确一点吗?这是页面上不存在的按钮然后
appears?还是总是在页面上?页面上是否有多个按钮,但只有一个按钮有“点击我”?