Javascript Puppeter-如何使用XPath获取标记的长度?
我在使用木偶演员(1.3版)时遇到了一些问题 我正在尝试运行此函数:Javascript Puppeter-如何使用XPath获取标记的长度?,javascript,xpath,puppeteer,Javascript,Xpath,Puppeteer,我在使用木偶演员(1.3版)时遇到了一些问题 我正在尝试运行此函数: async function func(page, selector, value) { let xPath = "//" + selector + "[contains(text(), " + value + ")]"; let linkHandlers = await page.$x(xPath); if (linkHandlers.length > 0) { await linkHandl
async function func(page, selector, value)
{
let xPath = "//" + selector + "[contains(text(), " + value + ")]";
let linkHandlers = await page.$x(xPath);
if (linkHandlers.length > 0)
{
await linkHandlers[0].click();
}
else
{
console.log("FAILED");
}
}
如果我第一次尝试使用selector='div'
运行该函数,它会运行得很好
但是,当我尝试使用代码中没有出现的选择器再次运行它时,我会收到linkHandlers.length=149
如何仅为代码中存在的选择器获取实际的
链接处理程序.length
?在开始之前,请确保向函数传递的是有效的XPath选择器,而不是CSS选择器
例如,如果要选择具有id=“example”
的元素,则XPath选择器应为:
*[@id="example"]
此外,您需要确保将值
括在引号中,以便正确解释XPath选择器
您的xPath
字符串的格式应如下所示:
let xPath = `//${selector}[contains(text(), '${value}')]`;
第二次你提供了什么论据?还可以提供一个最小的页面示例吗?我提供了这些变量:异步函数func(页面“span”、“pppppppppppppppp”);