chromium - 剧作家 - 单击按钮后无法获取更新的文本
问题描述
学习剧作家,并使用出版网站作为练习。我想做的是,
- 去 https://www.bedbathandbeyond.ca/store/product/tripp-trapp-reg-high-chair-complete/5497883?skuId=69677402
- 点击颜色列表中的第三个图标(自然),价格更新(488.99)。
- 得到价格。
这是我到目前为止所拥有的,但它输出的价格是 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()
解决方案
推荐阅读
- solr - 如何在 Solr 中加入文档?
- r - 用第 N 个字符分隔字符列?
- r - 如何在开始 R 闪亮时更改正在运行的应用程序窗口的大小?
- ruby-on-rails - ActiveRecord 中的回调排序
- neo4j - Cypher:由 OR 连接的路径节点属性上的多个路径和条件
- uitapgesturerecognizer - 为什么在“UITapGestureRecognizer”中使用 @objc?
- mysql - Mysql Like Offset Limit Query 不起作用
- powerbi - 如何将 Power BI 市场图表与 Slicers 连接起来?
- python - 事件绑定中的函数回调,带和不带括号
- ionic-framework - 官方迁移到 v4 后,npm (typescript) 插件的 Ionic v3 问题