获取SessionStorage

当前playwright没有直接获取sessionStorage的接口,只有获取locaStorage。
所以需要和js代码配合才能拿到我们需要的信息。

  1. String allSessionStorage = page.evaluate("JSON.stringify(window.sessionStorage)").toString();
  2. log.debug("获取的所有sessionStorage是[{}]", allSessionStorage);
  3. //JSONObject使用的hutool工具包里面的对象
  4. JSONObject sessObj = new JSONObject(allSessionStorage);
  5. String pageId = sessObj.getStr("kslive.log.page_id");

获取cookie

因为playwright只打开一个网页,所以获取了所有的cookie组合在一起。

    /**
     * 获取所有的cookie组成的字符串
     * @param context
     * @return
     */
    private String getCookie(BrowserContext context) {
        List<Cookie> allCookies = context.cookies();

        StringBuilder builder = new StringBuilder();
        for (Cookie c : allCookies) {
            builder.append(c.name).append("=").append(c.value);
            builder.append(";");
        }

        builder.deleteCharAt(builder.length()-1);
        return builder.toString();
    }