【发布时间】:2018-06-22 17:54:35
【问题描述】:
背景
我们首次使用 puppeteer 编写一些自动化的端到端测试。我们一直在深入研究他们的 API,但我们对系统的基本用途感到困惑和挣扎。
真正的问题
puppeteer 希望我们如何与元素交互?
- 获取他们的属性
- 在上面设置东西
- 找到他们的特定祖先和后代
评论
我真正想要的是针对我们的各种用途的更精简的 API 文档,或者更好的是,一个非常流畅的教程。我们已经看了很多,但我们还没有得到这些答案。
我们发现的所有指南都在做,我们不想做的,是手动在代码中放入大量的 ID 和选择器。我明白为什么,但出于我们的目的,我们希望从页面上读取内容并根据其形状生成我们的行为。
感谢您的宝贵时间!
额外积分
我应该如何实际处理这些代码 sn-ps?什么方法/结构?
这是一个想要在所有文本输入中键入一个字符串,但获取所有输入的值。
const nodeList = await page.$$('input');
const result = nodeList.map(async node => {
if(node.type === 'text'){
await node.type('2018');
}
return await node.getAttribute('value')
})
return result
这是一个想要在该跨度的父 div 内的任何子输入中键入跨度标签的人。
const nodeList = await page.$$('span');
const result = nodeList.map(async node => {
const parentDiv = node.NearestAncestor('div')
const inputs = parentDiv.$$('input')
**Use Code From Above**
})
return result
【问题讨论】:
标签: javascript testing dom automated-tests puppeteer