Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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 XPath获取包含子元素的元素,子元素包含木偶师单击的特定文本_Javascript_Html_Xpath_Puppeteer_E2e Testing - Fatal编程技术网

Javascript XPath获取包含子元素的元素,子元素包含木偶师单击的特定文本

Javascript XPath获取包含子元素的元素,子元素包含木偶师单击的特定文本,javascript,html,xpath,puppeteer,e2e-testing,Javascript,Html,Xpath,Puppeteer,E2e Testing,我正在努力使用Puppeter的页面。$x(XPath)来获取一个元素,该元素有一个包含特定文本的子节点。以下是我尝试测试的HTML格式: <custom-radio> <div> .... </div> <input> <span> <span><b>Country </b></span> <span

我正在努力使用Puppeter的
页面。$x(XPath)
来获取一个元素,该元素有一个包含特定文本的子节点。以下是我尝试测试的HTML格式:

<custom-radio>
    <div>
        ....
    </div>
    <input>
    <span>
        <span><b>Country </b></span> 
        <span>Afghanistan</span>
    </span>
</custom-radio>

<custom-radio>
    <div>
        ....
    </div>
    <input>
    <span>
        <span><b>Country </b></span> 
        <span>France</span>
    </span>
</custom-radio>
我还尝试使用此XPath表达式,得到了相同的结果:

const result = await page.$x('//input[.//*contains(., "France")]');
await page.click(result[0]);

我不确定我会错在哪里。我可以得到一些帮助来实现上述目标吗?谢谢

您的xpath表达式是正确的。这可能和等待有关。看看这是否有帮助:。非常感谢@JackFleeting-添加
page。waitForXPath
成功了。您的xpath表达式是正确的。这可能和等待有关。看看这是否有帮助:。非常感谢@JackFleeting-添加
page。waitForXPath
成功了。
const result = await page.$x('//input[.//*contains(., "France")]');
await page.click(result[0]);