我正在尝试根据一个表亲的字符串值获取电话号码。
我的目标是搜索“所有者”,最后输入电话号码的值。
AGE^2
这是我到目前为止的内容,但是我不断得到Y ~ X1
。你能解释我在做什么错吗?
Y ~ X2
答案 0 :(得分:2)
有一些问题:
page.$()
需要CSS选择器,而不是XPath。page.$x()
将返回一个带有ElementHandle-s的数组。a
href创建'#'
元素,但这可能是一个测试用例。这对我有用:
const html = `
<!doctype html>
<html>
<head><meta charset='UTF-8'><title>Test</title></head>
<body>
<div>
<h3>
<a href="http://example.com/">Owner</a>
</h3>
<p>
(555) 555-5555
</p>
</div>
</body>
</html>`;
const puppeteer = require('puppeteer');
(async function main() {
try {
const browser = await puppeteer.launch();
const [page] = await browser.pages();
await page.goto(`data:text/html,${html}`);
const data = await (
await (
await page.$x("//h3[contains(a, 'Owner')]/../p")
)[0].getProperty('innerText')
).jsonValue();
console.log(data);
await browser.close();
} catch (err) {
console.error(err);
}
})();