我如何为 DOM at Javascript 与 puppeteer $x 评估选择器编写选择器?
How do I write a selector for DOM at Javascript vs. puppeteer $x eveluation selector?
我用过puppeteer(更多在:YT: Puppeteer Youtube Video WebSite)
并且可以使用 XPATH 为 $x 评估语句编写程序。
const [WCPub] = await page.$x('//*[@id="details"]/div/table/tbody/tr[3]/td');
但现在我还需要一个 querySelector 和一个选择器字符串。以下来自 XPATH 的传输不起作用。谁能告诉我基于 XPATH 的正确 querySelector 字符串?
WCPub = WCbookelement.querySelector('//*[@id="details"]/div/table/tbody/tr[3]/td');
我试过了:
WCbookJson.BOOKPUB = WCbookelement.querySelector('#"details" div > table >
tbody > tr[3] >td').innerHTML;
它是来自 Worldcat 的 Publication 字段:
但是得到选择器无效的错误。我哪里理解错了?
谢谢
沃尔特
您想删除您的 ID select 周围的双引号 ("
) 或并使用 :nth-child
来 select 正确的行索引。
但老实说,我认为您将 selector 从 xPath 转换为字面意思。你也可以只做 #details tr:nth-child(3) > td
(取决于你的 html 结构)。
var text = document.querySelector('#details > div > table > tbody > tr:nth-child(3) > td').innerHTML;
console.log(text);
<div id="details">
<div>
<table>
<tbody>
<tr>
<td>Row 1</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
<tr>
<td>Row 3</td>
</tr>
</tbody>
</table>
</div>
</div>
我用过puppeteer(更多在:YT: Puppeteer Youtube Video WebSite) 并且可以使用 XPATH 为 $x 评估语句编写程序。
const [WCPub] = await page.$x('//*[@id="details"]/div/table/tbody/tr[3]/td');
但现在我还需要一个 querySelector 和一个选择器字符串。以下来自 XPATH 的传输不起作用。谁能告诉我基于 XPATH 的正确 querySelector 字符串?
WCPub = WCbookelement.querySelector('//*[@id="details"]/div/table/tbody/tr[3]/td');
我试过了:
WCbookJson.BOOKPUB = WCbookelement.querySelector('#"details" div > table >
tbody > tr[3] >td').innerHTML;
它是来自 Worldcat 的 Publication 字段:
谢谢 沃尔特
您想删除您的 ID select 周围的双引号 ("
) 或并使用 :nth-child
来 select 正确的行索引。
但老实说,我认为您将 selector 从 xPath 转换为字面意思。你也可以只做 #details tr:nth-child(3) > td
(取决于你的 html 结构)。
var text = document.querySelector('#details > div > table > tbody > tr:nth-child(3) > td').innerHTML;
console.log(text);
<div id="details">
<div>
<table>
<tbody>
<tr>
<td>Row 1</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
<tr>
<td>Row 3</td>
</tr>
</tbody>
</table>
</div>
</div>