Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Puppeter-如何使用XPath获取标记的长度?_Javascript_Xpath_Puppeteer - Fatal编程技术网

Javascript Puppeter-如何使用XPath获取标记的长度?

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

我在使用木偶演员(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 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”);