首页 > 解决方案 > 剧作家 - 单击按钮后无法获取更新的文本

问题描述

学习剧作家,并使用出版网站作为练习。我想做的是,

  1. https://www.bedbathandbeyond.ca/store/product/tripp-trapp-reg-high-chair-complete/5497883?skuId=69677402
  2. 点击颜色列表中的第三个图标(自然),价格更新(488.99)。
  3. 得到价格。

这是我到目前为止所拥有的,但它输出的价格是 529.99 而不是 488.99 看起来 html 中的价格在单击按钮后没有更新?但在屏幕截图中我确实看到了 488.99

const { chromium } = require('playwright')
const expect = require('expect')

async function run () {
  const browser = await chromium.launch()
  const page = await browser.newPage()

  const response = await page.goto('https://www.bedbathandbeyond.ca/store/product/tripp-trapp-reg-high-chair-complete/5497883?skuId=69677402')

  if (response.status() > 399) {
    throw new Error(`Failed with response code ${response.status()}`)
  }

  try {
    const elements = await page.$$('div#colorSwatches5497883 > button')
    console.log(elements);
    await Promise.all([elements[2].click()]);
    const price = await page.$eval('div.price', el => el.textContent.trim())
    console.log(price)
    await page.screenshot({ path: 'screenshot2.jpg' })
  } catch (e) {
    console.log(e);
    await page.screenshot({ path: 'click-failure.png' });
  }

  //expect(price).toEqual('$488.99')

  //await page.screenshot({ path: 'screenshot.jpg' })

  await page.close()
  await browser.close()
}

run()

标签: chromiumplaywright

解决方案


推荐阅读