【发布时间】:2018-11-19 07:23:42
【问题描述】:
我被要求创建一个点击网站上随机链接的任务(为了测试一些东西)。
所以我有这样的东西:
await page.evaluate((a, shuf) =>
{
function shuffle(array)
{
//...
return array;
}
//let's get the first one
let anchor = shuffle([...document.querySelectorAll('a')].filter(...)[0];
(anchor).click();
});
1) 请注意,我必须内联 shuffle 函数,否则它不知道。有没有办法将此函数放在 page.evaluate 之外,并将其“发送”到评估函数?
2) 我不想在评估函数中单击它的锚点 ((anchor).click();)。我想返回 anchor 的 DOM 对象并进行一些其他操作然后单击它。问题是 DOM 是一个未序列化的复杂对象,所以我无法返回它。有什么办法可以解决这个问题吗?
【问题讨论】: