【问题标题】:Selecting and clicking dropdown menu items with puppeteer使用 puppeteer 选择并单击下拉菜单项
【发布时间】:2019-05-01 10:25:46
【问题描述】:

我需要选择然后单击带有 puppeteer 的下拉菜单项以注销。

该菜单需要将鼠标悬停在其上才能下拉而不是单击。

当我选择复制下拉菜单区域的选择器时,我会得到两件事之一。

#ds-desktop-nav-main > div > div > ul.ds-nav-toolbar > li.ds-btn-group.ds-dropdown-group.ds-my-xxx-dropdown.show-logged-in > a > span

#ds-desktop-nav-main > div > div > ul.ds-nav-toolbar > li.ds-btn-group.ds-dropdown-group.ds-my-xxx-dropdown.show-logged-in > a

注销按钮的选择器是:

<a href="/users/sign_out" class="ga-tracking" data-ga-action="user" data-ga-category="main_nav" data-ga-label="LOGOUT">Logout</a>

整个东西都存储在一个带有 LI 元素的 UL 类中

这是您需要将鼠标悬停在上面以启动下拉菜单的元素的 HTML。

<a href="/users/current" class="ga-tracking" data-ga-category="main_nav" data-ga-action="user" data-ga-label="PROFILE"><span class="user-icon"></span></a>

【问题讨论】:

  • 我不确定你的意思?该网站不属于我,因此我无法添加任何内容。

标签: javascript html css puppeteer browser-automation


【解决方案1】:

您只需拨打page.hover('some-selector')(官方示例为here

所以在你的情况下:

page.hover('a[href="/users/sign_out"]')

你可以使用疯狂的嵌套选择器,但我宁愿选择在不久的将来很可能不会改变的东西。

您可以阅读有关属性选择器的更多信息here

【讨论】:

    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2022-11-28
    • 2021-06-09
    • 2023-03-31
    • 2018-04-01
    相关资源
    最近更新 更多