javascript - 使用 puppeteer 时如何获取 <div> 内的 <a> 对象?

标签 javascript html node.js puppeteer

使用 puppeteer,我尝试放入两个对象,但失败了。 我的测试代码是这样的

const btnUp = await page.$('div#ember322 > a:nth-child(0)');
const btnDown = await page.$('div#ember322 > a:nth-child(1)');

如何解决这个问题? 这是我的测试示例代码。

<div id="ember322" class="ember-view">
  <div class="order-btn-group">
    <div class="order-value"><span>0.8</span></div>
    <div class="row">
      <div class="col-xs-6">
        <a class="btn-order btn-down txt-left" data-ember-action="" data-ember-action-323="323">
          <span class="btn-order-text">down</span>
          <span class="btn-order-value txt-center">
            <small>300</small>
          </span>
          <i class="btn-order-status"></i>
        </a>
      </div>

      <div class="col-xs-6">
        <a class="btn-order btn-up txt-right" data-ember-action="" data-ember-action-324="324">
          <span class="btn-order-text">up</span>
          <span class="btn-order-value txt-center">
            <small>500</small>
          </span>
          <i class="btn-order-status"></i>
        </a>
      </div>
    </div>
  </div>
</div>

最佳答案

尝试不带 > 的选择器。它将需要 <a>元素是 <div> 的直接子元素(例如参见 W3Schools )。就像这样:

const btnUp = await page.$('div#ember322 a:nth-child(0)');
const btnDown = await page.$('div#ember322 a:nth-child(1)');

而且,也许不要使用 nth-child ,为什么不试试 btn-upbtn-down类(class)?

关于javascript - 使用 puppeteer 时如何获取 <div> 内的 <a> 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60172887/

相关文章:

立即调用 Javascript onclick 函数(不是在单击时调用)?

php - 在PHP mysql中将状态从未解决标记为已解决

javascript - Node.js nvm 和 npm 目录结构

javascript - 尝试使用 AJAX 提交而不刷新,失败无提示

javascript - Angularjs - 从 html 选择中获取要显示的值

javascript - 如何在 react 表渲染后执行代码?

php - PHP 和 Node.JS 中西里尔文 sha1 哈希值的差异

javascript - 为什么null在localStorage中存储为字符串?

值为空时的 HTML 间距

node.js - 使用 docker 容器的 mongodb Node 应用程序最适合什么?