木偶选择器;未选择按钮

时间:2018-08-28 21:24:57

标签: javascript node.js css-selectors puppeteer google-chrome-headless

我正在尝试点击await page.click('.2 tabBtnCenter');,但是它不起作用。

有人可以为value=2 tabBtnCenter定义适当的Puppeteer CSS选择器吗?

<div id="headerTab">
    <ul>
        <li value="0">
            <div class="tabBtnLeft"></div>
            <div class="tabBtnCenter">Status</div>
            <div class="tabBtnRight"></div>
        </li>
        <li value="1">
            <div class="tabBtnLeft"></div>
            <div class="tabBtnCenter">WAN</div>
            <div class="tabBtnRight"></div>
        </li>
        <li value="2">
            <div class="tabBtnLeft"></div>
            <div class="tabBtnCenter">LAN</div>
            <div class="tabBtnRight"></div>
        </li>
    </ul>
</div>

2 个答案:

答案 0 :(得分:0)

使用

const sel = await page.$x("//div[text()='LAN' and @class='tabBtnCenter']");

if (sel.length > 0) {
    await sel[0].click();
}
else {
    throw new Error("selector not found");
}

答案 1 :(得分:0)

您可以使用以下选择器单击用page.click()指定的元素:

await page.click( '[value="2"] > .tabBtnCenter' );